Collections工具类

来源:互联网 发布:舒乐安定 淘宝 编辑:程序博客网 时间:2024/06/16 07:29

参考:http://blog.csdn.net/u013256816/article/details/50924875
参考:http://blog.csdn.net/u013256816/article/details/50924875

Java.util.Collections工具类提供很多有用的方法,使得程序猿操作集合类的时候更加的方便容易,这些方法都是静态的。整个Collections工具类源码差不多有4000行,我们针对一些典型的方法进行阐述

1、调用一个空List,Set,Map

public static final List EMPTY_LIST = new EmptyList<>();public static final Map EMPTY_MAP = new EmptyMap<>();public static final Set EMPTY_SET = new EmptySet<>();

2、addAll

public static boolean addAll(Collection

List<String> list = new ArrayList<>();        list.add("s2");        list.add("s4");        list.add("s1");        list.add("s3");        System.out.println(list);        Collections.addAll(list, "s5","s7",null,"s9");        System.out.println(list);

输出:

[s2, s4, s1, s3]

[s2, s4, s1, s3, s5, s7, null, s9]

3、binarySearch

public static int binarySearch(List

4、sort

public static

5、shuffle

public static void shuffle(List

 public static void test3()    {        List<String> list = new ArrayList<>();        list.add("s1");        list.add("s2");        list.add("s3");        list.add("s4");        Collections.shuffle(list);        System.out.println(list);    }

每次运行结果不同

6、反转

有关反转主要有这三个方法:

public static void reverse(List

 List<String> list = new ArrayList<>();        list.add("s1");        list.add("s2");        list.add("s3");        list.add("s4");        System.out.println(list);        Collections.reverse(list);        System.out.println(list);

输出:

[s1, s2, s3, s4]

[s4, s3, s2, s1]

List<String> list = new ArrayList<>();        list.add("s1");        list.add("s2");        list.add("s3");        System.out.println(list);        Comparator<String> comp = Collections.reverseOrder();        Collections.sort(list,comp);        System.out.println(list);

输出结果同上

List<String> list = new ArrayList<>();        list.add("s1");        list.add("s2");        list.add("s3");        list.add("s4");        System.out.println(list);        Comparator<String> comp = Collections.reverseOrder();        Collections.sort(list,comp);        System.out.println(list);        Comparator<String> comp2 = Collections.reverseOrder(comp);        Collections.sort(list,comp2);        System.out.println(list);

输出结果:

[s1, s2, s3, s4]

[s4, s3, s2, s1]

[s1, s2, s3, s4]
如果把Comparator comp2 = Collections.reverseOrder(comp);改成Comparator comp2 = Collections.reverseOrder(null);运行结果:

[s1, s2, s3, s4]

[s4, s3, s2, s1]

[s4, s3, s2, s1]

0 0