1.区别:
>Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。
>Collection 是各种集合接口的父接口,继承它的接口主要有Set和List,提供了关于集合的一些操作,如删除,插入,判断一个元素是否是其成员,遍历等。
2.Collections方法:
>排序(sort):以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable接口。
ublic class Testlist1 {
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(14);
list.add(16);
list.add(19);
list.add(15);
System.out.println(list);
System.out.println("排序后:");
Collections.sort(list); //对指定列表按升序排列
System.out.println(list);
}
}
运行结果:
[14, 16, 19, 15]
排序后:
[14, 15, 16, 19]
>逆序(reverse)
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(14);
list.add(16);
list.add(19);
list.add(15);
System.out.println(list);
System.out.println("逆序后:");
Collections.reverse(list);
System.out.println(list);
}
运行结果:
[14, 16, 19, 15]
逆序后:
[15, 19, 16, 14]
>最值(max,min)
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(14);
list.add(16);
list.add(19);
list.add(15);
System.out.println(list);
System.out.println("最大值为:");
System.out.println(Collections.max(list));
System.out.println("最小值为:");
System.out.println(Collections.min(list));
}
运行结果:
[14, 16, 19, 15]
最大值为:
19
最小值为:
14
>替换(Fill)
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(14);
list.add(16);
list.add(19);
list.add(15);
System.out.println("替换前:");
System.out.println(list);
System.out.println("替换后:");
Collections.fill(list, 12);
System.out.println(list);
}
运行结果:
替换前:
[14, 16, 19, 15]
替换后:
[12, 12, 12, 12]
>拷贝(copy):将源数组数据复制到目标数组
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
List<Integer> list1=new ArrayList<Integer>(Arrays.asList(new Integer[list.size()])); //list1是目标数组
list.add(14);
list.add(16);
list.add(19);
list.add(15);
System.out.println("拷贝前:");
System.out.println(list);
System.out.println("拷贝后:");
Collections.copy(list, list1);
for(Integer i:list) {
System.out.println(i);
}
}
运行结果
拷贝前:
[14, 16, 19, 15]
拷贝后:
14
16
19
15
>binarySearch(二分查找):查找指定集合中的元素,返回查找元素的索引。
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(14);
list.add(16);
list.add(17);
list.add(18);
list.add(20);
System.out.println(list);
System.out.println(Collections.binarySearch(list, 18));
}
运行结果:
[14, 16, 17, 18, 20]
3
>replaceAll:替换指定集合的指定元素
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(14);
list.add(16);
list.add(17);
list.add(18);
list.add(20);
System.out.println("替换前:");
System.out.println(list);
System.out.println("替换后:");
Collections.replaceAll(list, 17, 88);
System.out.println(list);
}
运行结果:
替换前:
[14, 16, 17, 18, 20]
替换后:
[14, 16, 88, 18, 20]
>swap(List list,int a,int b):交换指定集合中元素索引的位置;
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(14);
list.add(16);
list.add(17);
list.add(18);
list.add(20);
System.out.println("交换前:");
System.out.println(list);
System.out.println("交换后:");
Collections.swap(list, 0,4);
System.out.println(list);
}
运行结果:
交换前:
[14, 16, 17, 18, 20]
交换后:
[20, 16, 17, 18, 14]
>