Java基础进阶集合-Collections工具类

简介: Java基础进阶集合-Collections工具类

java.util.Collection 集合接口

java.util.Collections 集合工具类,方便集合的操作。


示例代码:


public class CollectionsTest {
    public static void main(String[] args) {
        // ArrayList集合不是线程安全的。
        List<String> list = new ArrayList<>();
        //把List集合转换成线程安全的
        Collections.synchronizedList(list);
        list.add("abc");
        list.add("abd");
        list.add("abg");
        list.add("abx");
        list.add("aba");
        Collections.sort(list);
        for(String s : list){
            System.out.println(s);
        }
        System.out.println("=======================");
        List<WuGui2> wuGui2s = new ArrayList<>();
        wuGui2s.add(new WuGui2(1000));
        wuGui2s.add(new WuGui2(800));
        wuGui2s.add(new WuGui2(5000));
        wuGui2s.add(new WuGui2(2000));
        wuGui2s.add(new WuGui2(4000));
        // 注意:对List集合中元素排序,需要保证List集合中的元素实现了:Comparable接口。
        Collections.sort(wuGui2s);
        for(WuGui2 wuGui2 : wuGui2s){
            System.out.println(wuGui2);
        }
        System.out.println("=======================");
        // 对Set集合怎么排序呢?
        Set<String> set = new HashSet<>();
        set.add("zhangsna");
        set.add("lisi");
        set.add("wangwu");
        // 将Set集合转换成List集合
        List<String> list2 = new ArrayList<>(set);
        Collections.sort(list2);
        for(String s : list2){
            System.out.println(s);
        }
        // 这种方式也可以排序。
        //Collections.sort(list集合, 比较器对象);
    }
}
class WuGui2 implements Comparable<WuGui2>{
    int age;
    public WuGui2(int age){this.age = age;}
    @Override
    public String toString() {
        return "WuGui2{" +
                "age=" + age +
                '}';
    }
    @Override
    public int compareTo(WuGui2 o) {
        return this.age - o.age;
    }
}


运行结果;


0a2653c851af460fa595bd959398a8f1.png

相关文章
|
2天前
|
存储 安全 Java
Java 集合框架中的老炮与新秀:HashTable 和 HashMap 谁更胜一筹?
嗨,大家好,我是技术伙伴小米。今天通过讲故事的方式,详细介绍 Java 中 HashMap 和 HashTable 的区别。从版本、线程安全、null 值支持、性能及迭代器行为等方面对比,帮助你轻松应对面试中的经典问题。HashMap 更高效灵活,适合单线程或需手动处理线程安全的场景;HashTable 较古老,线程安全但性能不佳。现代项目推荐使用 ConcurrentHashMap。关注我的公众号“软件求生”,获取更多技术干货!
18 3
|
19天前
|
存储 缓存 安全
Java 集合江湖:底层数据结构的大揭秘!
小米是一位热爱技术分享的程序员,本文详细解析了Java面试中常见的List、Set、Map的区别。不仅介绍了它们的基本特性和实现类,还深入探讨了各自的使用场景和面试技巧,帮助读者更好地理解和应对相关问题。
37 5
|
2月前
|
存储 缓存 安全
Java 集合框架优化:从基础到高级应用
《Java集合框架优化:从基础到高级应用》深入解析Java集合框架的核心原理与优化技巧,涵盖列表、集合、映射等常用数据结构,结合实际案例,指导开发者高效使用和优化Java集合。
42 4
|
2月前
|
Java
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
35 2
|
2月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
2月前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
|
2月前
|
存储 Java 开发者
Java中的集合框架深入解析
【10月更文挑战第32天】本文旨在为读者揭开Java集合框架的神秘面纱,通过深入浅出的方式介绍其内部结构与运作机制。我们将从集合框架的设计哲学出发,探讨其如何影响我们的编程实践,并配以代码示例,展示如何在真实场景中应用这些知识。无论你是Java新手还是资深开发者,这篇文章都将为你提供新的视角和实用技巧。
36 0
|
7月前
|
Java
排名前16的Java工具类
排名前16的Java工具类
43 0
|
Java
排名前16的Java工具类
排名前16的Java工具类
202 0
排名前 16 的 Java 工具类,哪个你没用过?
在Java中,实用程序类是定义一组执行通用功能的方法的类。 这篇文章展示了最常用的Java实用工具类及其最常用的方法。类列表及其方法列表均按受欢迎程度排序。数据基于从GitHub随机选择的50,000个开源Java项目。 希望您可以通过浏览列表来了解