参考:http://blog.youkuaiyun.com/u013256816/article/details/50924875
参考:http://blog.youkuaiyun.com/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]