Collcetios、Arrays
Collections(集合工具類(lèi))
Arrays(數(shù)組工具類(lèi))
Collection是集合框架中的一個(gè)頂層接口,它里面定義了單列集合的共性方法。
Collections是集合框架中的一個(gè)工具類(lèi)。該類(lèi)中的方法都是靜態(tài)的,提供的方法中有可以對(duì)list集合進(jìn)行排序,二分查找等方法。
通常常用的集合都是線程不安全的。如果多線程操作這些集合時(shí),可以通過(guò)該工具類(lèi)中的同步方法,將線程不安全的集合,轉(zhuǎn)換成安全的以提高效率
//根據(jù)元素自然順序 對(duì)指定列表按升序排序。此方法內(nèi)部調(diào)用了Comparable 的compareTo()方法。
public static <T extends Comparable<? super T>> void sort(List<T> list)
//根據(jù)元素的自然順序,返回給定 collection 的最大元素
public <T extends Object & Comparalbe<? super T>> T max(Collection<? extends T> col)
// 使用指定元素替換指定列表中的所有元素
public static <T> void fill(List<? super T> list,T obj)
// 使用另一個(gè)值替換列表中出現(xiàn)的所有某一指定值。
public static T replacAll(List<T>,T oldValue,T newValue)
// 反轉(zhuǎn)指定列表中元素的順序
public static void reverse(List<?> list)
// 返回一個(gè)比較器,它強(qiáng)行逆轉(zhuǎn)實(shí)現(xiàn)了 Comparable 接口的對(duì)象 collection 的自然順序
public static T Comparator<T> reverseOrder()
//返回一個(gè)比較器,它強(qiáng)行逆轉(zhuǎn)指定比較器的順序
public static T Comparator<T> reverseOrder(Comparator<T> cmp)
public static <T> List<T> synchronizedList(List<T> list)
public static void swap(List<T> list,int i,int j
//如果搜索鍵包含在列表中,則返回搜索鍵的索引;否則返回 (-(插入點(diǎn)) - 1)
public static <T> int binarySearch(List<? extends t> list,T key,Comparator<? extends T> c)
- Arrays(數(shù)組工具類(lèi))(看Api文檔)
案例
/**
* Collections
* <p>
* Arrays
*/
public class Demo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("abc");
list.add("aaa");
list.add("adc");
list.add("bcd");
list.add("abb");
System.out.println("\n排序前:");
sop(list);
//排序
Collections.sort(list);
System.out.println("\n排序后:");
sop(list);
Collections.reverse(list); //反轉(zhuǎn)
System.out.println("\n反轉(zhuǎn):");
sop(list);
//獲取最大的值
String maxStr = Collections.max(list);
System.out.println("\n最大值:\r\n---->" + maxStr);
String ss = "22 90 34 50 65";
String[] nums = ss.split(" ");
List<String> ln = new ArrayList<>();
for (String n : nums) ln.add(n);
/////////////////////////////////////////////////////
//將數(shù)組轉(zhuǎn)成集合
List<String> lns = Arrays.asList(nums);
String maxN = Collections.max(lns);
System.out.println("\r\n---->" + maxN);
//將集合轉(zhuǎn)成數(shù)組: 可以固定集合大小,不允許再出現(xiàn)刪除和增加操作
String[] str = lns.toArray(new String[lns.size()]);
System.out.println(str);
}
static void sop(List<String> list) {
for (String s : list)
System.out.print(s + " ");
}
}