集合的工具類,包含不少實用的方法java
int binarySearch(list,key);工具
//必須根據元素天然順序對列表進行升級排序spa
//要求list 集合中的元素都是Comparable 的子類。code
int binarySearch(list,key,Comparator);對象
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); Collections.sort(list); // 保證集合有序 System.out.println(Collections.binarySearch(list, 19)); // 1 System.out.println(Collections.binarySearch(list, 741)); // 4 System.out.println(Collections.binarySearch(list, 0)); // -1 } }
sort(list);排序
//對list進行排序,其實使用的事list容器中的對象的compareTo方法同步
sort(list,comaprator);io
//按照指定比較器的比較規則進行排序class
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(list); // [5, 741, 456, 123, 19] Collections.sort(list); // 升序排序 System.out.println(list); // [5, 19, 123, 456, 741] } }
max(Collection)import
max(Collection,comparator)
min(Collection)
min(Collection,comparator)
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(Collections.max(list)); // 741 } }
reverse(list);
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(list); // [5, 741, 456, 123, 19] Collections.reverse(list); // 翻轉 System.out.println(list); // [19, 123, 456, 741, 5] } }
Comparator reverseOrder();
Comparator reverseOrder(Comparator);
swap(list,x,y);
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(list); // [5, 741, 456, 123, 19] Collections.swap(list, 2, 4); System.out.println(list); // [5, 741, 19, 123, 456] } }
若是被替換的元素不存在,那麼原集合不變。
replaceAll(list,old,new);
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(list); // [5, 741, 456, 123, 19] Collections.replaceAll(list, 5, 6); System.out.println(list); // [6, 741, 19, 123, 456] Collections.replaceAll(list, 7, 8); System.out.println(list); // [6, 741, 19, 123, 456] } }
Set synchronizedSet(Set<T> set)
Map synchronizedMap(Map<K,V> map)
List synchronizedList(List<T> list)