Java Collections工具类 简介 常用方法 操作范例

Collections是java.util包下的集合工具类,定义了除了存取以外的集合常用方法。

常用方法

public static <T extends Comparable<? super T>> void sort(List<T> list) //升序排列(元素类型必须实现Comparable接口)
public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)//排序后二分查找
public static <T> void copy(List<? super T> dest, List<? extends T> src)//集合拷贝
public static void reverse(List<?> list) //反转集合中元素的顺序
public static void shuffle(List<?> list) //随机重置集合元素的顺序
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)//最大
public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll)//最小
public static <T> void fill(List<? super T> list, T obj)//使用指定元素替换集合中的所有元素

操作范例

/**
 * Collections工具类的使用
 */
public class collectionsTest {
    public static void main(String[] args) {

        List<Integer> list = new ArrayList<>();
        list.add(23);
        list.add(4);
        list.add(45);
        list.add(76);
        list.add(12);
        System.out.println("原始集合:"+list);

        //排序
        Collections.sort(list); //升序
        System.out.println("排序后:"+list);

        //排序后可以二分查找
        int index = Collections.binarySearch(list, 45);//查找位置,没有找到结果为负
        System.out.println(index);

        //拷贝
        //需要拷贝到的目的集合要先有数据,才能拷贝
        List<Integer> dest = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            dest.add(0);
        }
        Collections.copy(dest,list);
        System.out.println("拷贝后的集合:"+dest);

        //反转
        Collections.reverse(list);
        System.out.println("反转后:"+ list);

        //打乱
        Collections.shuffle(list);
        System.out.println("打乱后:"+ list);
        Collections.shuffle(list);
        System.out.println("打乱后:"+ list);

        //最大,最小
        Integer max = Collections.max(list);
        System.out.println("最大:"+max);
        Integer min = Collections.min(list);
        System.out.println("最小:"+min);

        //使用指定元素替换集合中的所有元素
        Collections.fill(list,0);
        System.out.println("元素填充后:"+list);


    }
}

运行结果

原始集合:[23, 4, 45, 76, 12]
排序后:[4, 12, 23, 45, 76]
3
拷贝后的集合:[4, 12, 23, 45, 76]
反转后:[76, 45, 23, 12, 4]
打乱后:[23, 4, 45, 76, 12]
打乱后:[23, 45, 76, 4, 12]
最大:76
最小:4
元素填充后:[0, 0, 0, 0, 0]