Collections类

Collections类是java提供的一个集合操作工具类,它包含了大量的静态方法,用于实现对集合元素的排序、查找和替换等操作。

Collections与Collection是不同的,前者是集合的操作类,后者是集合的接口。

排序

在Java中,如果想实现一个类的对象之间比较大小,那么这个类就要实现Comparable接口。此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo()方法被称为它的自然比较方法。此方法用于比较此对象与指定对象的顺序,如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。

compareTo()方法的定义语法格式如下:

int compareTo(Object obj);

实现此接口的对象列表(和数组),元素之间可以比较大小后,就可以通过Collections.sort()方法(和Array.sort()方法)进行排序操作了。前面介绍过List接口和Map接口,Map接口本身是无序的,所以不能对Map接口做排序操作:但是List接口时有序的,所以可以对List接口进行排序。注意List接口中存放的元素,必须是实现了Comparable接口的元素才可以。

示例:

public class Student implements Comparable{
    private int num;
    private String name;
    
    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int compareTo(Object o) {
        Student stu = (Student)o;
        if (this.num == stu.getNum()) {
            return 0;
        } else if (this.num > stu.getNum()) {
            return 1;
        } else {
            return -1;
        }
    }

}

替换

若有一个需求,需要把List集合中的所有元素都替换为相同的元素,则可以使用Collections类的静态方法fill()来实现。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容