Java集合Collections工具类

简介: Java集合Collections工具类

1 Collections概述和使用

Collections 类的作用是针对集合操作的工具类

Collections类常用方法

public static <T> void sort(List<T> list):默认情况下是对集合的自然排序。


public static <T> int binarySearch(List<?> list,T key):二分查找


public static <T> T max(Collection<?> coll):最大值


public static void reverse(List<?> list):反转


public static void shuffle(List<?> list)随机置换


示例代码

public class CollectionsDemo01 {
    public static void main(String[] args) {
//创建集合对象
        List<Integer> list = new ArrayList<Integer>();
//添加元素
        list.add(30);
        list.add(20);
        list.add(50);
        list.add(10);
        list.add(40);
//public static <T extends Comparable<? super T>> void sort•(List<T>
        list):将指定的列表按升序排序
// Collections.sort(list);
//public static void reverse•(List<?> list):反转指定列表中元素的顺序
// Collections.reverse(list);
//public static void shuffle•(List<?> list):使用默认的随机源随机排列指定的列
        Collections.shuffle(list);
        System.out.println(list);
    }
}

2 ArrayList集合存储学生并排序

案例需求

ArrayList 存储学生对象,使用 Collections 对 ArrayList 进行排序

要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序

代码实现

学生类

public class Student {
    private String name;
    private int age;
    public Student() {
    }
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}
public class CollectionsDemo02 {
    public static void main(String[] args) {
//创建ArrayList集合对象
        ArrayList<Student> array = new ArrayList<Student>();
//创建学生对象
        Student s1 = new Student("linqingxia", 30);
        Student s2 = new Student("zhangmanyu", 35);
        Student s3 = new Student("wangzuxian", 33);
        Student s4 = new Student("liuyan", 33);
//把学生添加到集合
        array.add(s1);
        array.add(s2);
        array.add(s3);
        array.add(s4);
//使用Collections对ArrayList集合排序
//sort•(List<T> list, Comparator<? super T> c)
        Collections.sort(array, new Comparator<Student>() {
            @Override
            public int compare(Student s1, Student s2) {
//按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序
                int num = s1.getAge() - s2.getAge();
                int num2 = num == 0 ? s1.getName().compareTo(s2.getName())
                        : num;
                return num2;
            }
        });
//遍历集合
        for (Student s : array) {
            System.out.println(s.getName() + "," + s.getAge());
        }
    }
}
目录
相关文章
|
8月前
|
存储 算法 安全
Java集合框架:理解类型多样性与限制
总之,在 Java 题材中正确地应对多样化与约束条件要求开发人员深入理解面向对象原则、范式编程思想以及JVM工作机理等核心知识点。通过精心设计与周密规划能够有效地利用 Java 高级特征打造出既健壮又灵活易维护系统软件产品。
213 7
|
9月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
393 100
|
9月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
382 101
|
9月前
|
存储 Java Go
对比Java学习Go——函数、集合和OOP
Go语言的函数支持声明与调用,具备多返回值、命名返回值等特性,结合`func`关键字与类型后置语法,使函数定义简洁直观。函数可作为一等公民传递、赋值或作为参数,支持匿名函数与闭包。Go通过组合与接口实现面向对象编程,结构体定义数据,方法定义行为,接口实现多态,体现了Go语言的简洁与高效设计。
267 4
|
9月前
|
算法 Java
50道java集合面试题
50道 java 集合面试题
|
10月前
|
存储 NoSQL Java
Java Stream API:集合操作与并行处理
Stream API 是 Java 8 提供的集合处理工具,通过声明式编程简化数据操作。它支持链式调用、延迟执行和并行处理,能够高效实现过滤、转换、聚合等操作,提升代码可读性和性能。
|
10月前
|
存储 缓存 安全
Java集合框架(三):Map体系与ConcurrentHashMap
本文深入解析Java中Map接口体系及其实现类,包括HashMap、ConcurrentHashMap等的工作原理与线程安全机制。内容涵盖哈希冲突解决、扩容策略、并发优化,以及不同Map实现的适用场景,助你掌握高并发编程核心技巧。
|
Java
Java类集--Collections
<h1>Collections常用方法及常量:</h1> <div> <img src="http://img.blog.csdn.net/20131202084140796" alt=""><br> </div> <div>验证:空集合的操作</div> <div> <img src="http://img.blog.csdn.net/20131202093846109" alt=
1326 0
|
8月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
404 1
|
8月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
379 1