简介
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]