java.util.Collections类
java.utils.Collections和Collection的区别和联系:
Collection是集合的最高级接口,提供了集合对象基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现,它的意义是为各种具体的集合提供了最大化的统一操作方式。
Collections是一个包装类,此类没有公共的构造函数,不能实例化,提供了一系列的静态方法,服务于Collection框架!
实例:
class Test { public static void main(String[] args) throws ParseException { List<String> list = new ArrayList<String>(); list.add("ccc"); list.add("bbb"); list.add("aaa"); //向list中添加元素 Collections.addAll(list, "eee","ddd"); for(String str:list){ System.out.println(str); } //对list中的元素进行排序 Collections.sort(list); for(String str:list){ System.out.println(str); } } }
结果
ccc
bbb
aaa
eee
ddd
aaa
bbb
ccc
ddd
eee
其他:
排序:
//对list进行升序排序 public static <T extends Comparable<? super T>> void sort(List<T> list) {} //使用指定Comparator对list进行排序 public static <T> void sort(List<T> list, Comparator<? super T> c) {}
搜索:
//使用二进制搜索算法在指定list中查找指定key,并返回该keyt的索引值 //前提:list必须升序排序,否则会出错 public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key) {} //使用二进制搜索算法,根据指定的Comparator原则,在指定list中查找指定key,并返回索引值 public static <T> int binarySearch(List<? extends T> list, T key, Comparator<? super T> c) {}
反转:
//反转指定list中的元素顺序 public static void reverse(List<?> list) {}
乱序(拖曳):
//使用默认的随机源对指定list进行随机拖曳处理,假如随机源相同,所有可能出现的概可能性都一样 public static void shuffle(List<?> list) {} //使用指定的随机源对指定的list进行随机拖曳处理 public static void shuffle(List<?> list, Random rnd) {}
交换:
//对指定两个元素进行交换 public static void swap(List<?> list, int i, int j) {}
替换:
//使用指定obj替换list中的所有元素 public static <T> void fill(List<? super T> list, T obj) {}
复制:
//复制源list并将其存入目标list public static <T> void copy(List<? super T> dest, List<? extends T> src) {}
比较:
//返回list中元素最小值 public static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll) { public static <T> T min(Collection<? extends T> coll, Comparator<? super T> comp) {} //返回list中元素最大值 public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll) {} public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp) {}
...
类型检查:
checkedLsit(){}
随后继续写