Collections类为集合类的一些工具类,都为静态方法。常用方法如下:
@Test
public
void test() {
List
list = new ArrayList
(); list.add("3"); list.add("1"); list.add("6"); list.add("2"); list.add("5"); /**增添“9” **/ Collections.addAll(list, "9"); printCollection(list); // 316259 /** 根据元素的自然顺序 对指定列表按升序进行排序。 **/ Collections.sort(list); /** 用二分查找法查找list的元素的位置(使用之前必须使用sort先进行排序) **/ Collections.binarySearch(list, "6");// 返回6的位置4 /** 继承Comparator接口 ( 如果o1小于o2,返回一个负数;如果o1大于o2,返回一个正数;如果他们相等,则返回0;) **/ Collections.sort(list, new Comparator
() { @Override public int compare(String o1, String o2) { // TODO Auto-generated method stub return Integer.parseInt(o2) - Integer.parseInt(o1); // 降序排列 } }); printCollection(list);// 965321 /** * 使用copy复制集合数据时,必须保证新集合中的size大于或等于旧集合中的size(注:ArrayList中的size和容纳量是有区别的, * 初始化的时候可以初始化其容纳量,但是size一直为 * 0,当进行add时候才会数量加1,为保证size的数量,初始化采取其构造方法,形式如下:(Arrays.asList(new * String[list.size()])) **/ List
list1 = new ArrayList
( Arrays.asList(new String[list.size()])); Collections.copy(list1, list); printCollection(list1);// 965321 List
list2 = new ArrayList(); /** 如果两个指定 collection 中没有相同的元素,则返回 true。 **/ Collections.disjoint(list, list2);// 返回true /** 用一个元素代替集合中所有元素 **/ Collections.fill(list, "2"); printCollection(list);// 返回222222 /** 元素在集合中出现的次数 **/ Collections.frequency(list, "22"); /** 返回集合中最大的 **/ Collections.max(list1);// 返回9 /** 集合中最小的 **/ Collections.min(list1); // 返回1 /** 复制5个参数90成为一个新的集合list3 ,且新的集合不可更改(可初始化一个新创建的 List) **/ List list3 = Collections.nCopies(5, "90"); printCollection(list3);// 返回9090909090 /** * 将list集合中为2的值替换为1, 注:使用 newVal 替换 list 中满足 (oldVal==null ? e==null : * oldVal.equals(e)) 的每个 e 元素。 **/ Collections.replaceAll(list, "2", "1"); printCollection(list); // 返回111111 /** 随机交换位置 **/ // Collections.shuffle(list1); /** 反转集合位置 **/ Collections.reverse(list1);// 123569 printCollection(list1); // 交换集合的位置,位置1和位置2互调 Collections.swap(list1, 0, 1);// 213569 printCollection(list1); // 整体右移动一位 Collections.rotate(list1, 1); // 921356 printCollection(list1); } public void printCollection(Collection
collection) { System.out.println(); Iterator it = (Iterator) collection.iterator(); while (it.hasNext()) { System.out.print(it.next()); } }