Java集合——Collections工具类
本文主要学习了Collections工具类的常用方法。
Java集合——Collections工具类
摘要:本文主要学习了Collections工具类的常用方法。
概述
Collections工具类主要用来操作集合类,比如List和Set。
常用操作
排序(sort方法)
使用Collections工具类里的sort()方法进行排序,必须满足下列任意一个条件:
第一种是List中的存储的元素实现Comparable接口,重写compareTo()方法。
第二种是在使用sort方法时,传入一个Comparator的实现类,重写compareTo()方法。
测试代码如下:
1 List<Integer> list = new ArrayList<Integer>(); 2 list.add(3); 3 list.add(5); 4 list.add(1); 5 System.out.println(list); 6 Collections.sort(list); 7 System.out.println(list);
运行结果如下:
1 [3, 5, 1] 2 [1, 3, 5]
反转(reverse方法)
将集合里元素的顺序进行反转。
测试代码如下:
1 List<Integer> list = new ArrayList<Integer>(); 2 list.add(3); 3 list.add(5); 4 list.add(1); 5 System.out.println(list); 6 Collections.reverse(list); 7 System.out.println(list);
运行结果如下:
1 [3, 5, 1] 2 [1, 5, 3]
混排(shuffle方法)
对集合里的元素进行随机排序。
测试代码如下:
1 List<Integer> list = new ArrayList<Integer>(); 2 list.add(3); 3 list.add(5); 4 list.add(1); 5 System.out.println(list); 6 Collections.shuffle(list); 7 System.out.println(list);
运行结果如下:
1 [3, 5, 1] 2 [3, 1, 5]
最大(max方法)
查找集合中最大的一个元素。
测试代码如下:
1 List<Integer> list = new ArrayList<Integer>(); 2 list.add(3); 3 list.add(5); 4 list.add(1); 5 System.out.println(list); 6 Integer max = Collections.max(list); 7 System.out.println(max);
最小(min方法)
查找集合中最小的一个元素。
测试代码如下:
1 List<Integer> list = new ArrayList<Integer>(); 2 list.add(3); 3 list.add(5); 4 list.add(1); 5 System.out.println(list); 6 Integer min = Collections.min(list); 7 System.out.println(min);
查找(binarySearch方法)
查找方法只能调用顺序的集合,返回元素的索引。
测试代码如下:
1 List<Integer> list = new ArrayList<Integer>(); 2 list.add(3); 3 list.add(5); 4 list.add(1); 5 System.out.println(list); 6 Integer index = Collections.binarySearch(list, 5); 7 System.out.println(index);
替换(replaceAll方法)
替换指定元素为某元素,若要替换的值存在刚返回true,反之返回false。
1 List<Integer> list = new ArrayList<Integer>(); 2 list.add(3); 3 list.add(5); 4 list.add(1); 5 System.out.println(list); 6 Collections.replaceAll(list, 5, 7); 7 System.out.println(list);
操作容器
创建线程安全的List
1 List<Integer> list = Collections.synchronizedList(new ArrayList<Integer>());
创建线程安全的Set
1 Set<Integer> set = Collections.synchronizedSet(new HashSet<Integer>());
创建线程安全的Map
1 Map<String, Integer> map = Collections.synchronizedMap(new HashMap<String, Integer>());