Collections工具類(lèi):不能創(chuàng)建對(duì)象,方法全由static修飾。
Collections和Collection有什么區(qū)別?
答:Collection是集合體系的最高層,包含了集合體系的共性;Collections是一個(gè)工具類(lèi),方法都是用于操作Collection。
<1>.static int binarySearch(List list, Object key):
使用二分法查找指定元素在指定列表的索引位置。
要求:數(shù)字元素必須是有序的,所以不能是Set類(lèi)只能是List
例://創(chuàng)建列表對(duì)象
List<Integer> list = new ArrayList<Integer>( );? //集合只能存對(duì)象,所以不敢寫(xiě)int
list.add(1);
list.add(2);
list.add(3);
list.add(4);
//查找
int? index = Collections.binarySearch(list,4);
System.out.println(index);
//輸出結(jié)果是:3(索引值)
<2>.static void copy(List dest, Liet? src):是把原列表中的數(shù)據(jù)覆蓋到目標(biāo)列表
例://創(chuàng)建原列表
List<String> src = new ArrayList<String>( );
src.add("hello");
src.add("world");
src.add("java");
//創(chuàng)建目標(biāo)列表
List<String> dest = new ArrayList<String>( );
dest.add("1");
dest.add("2");
dest.add("3");
dest.add("4");
//原列表覆蓋到目標(biāo)列表
Collections.copy(dest,src);
System.out.println(dest);
輸出結(jié)果:hello,world,java,4
<3>.static void fill(List list, Object obj);
使用指定的對(duì)象填充指定列表的所有元素
例:LIst <String> list = new ArrayList<String> ();
? ? ? ? list.add("hello");
? ? ? ? list.add("world");
? ? ? ? list.add("java");
? ? ? ? System.out.println(list);
? ? ? ? Collections.fill( list, "android");
? ? ? ? System.out.println( list );
輸出結(jié)果是:hello? world? java
? ? ? ? ? ? ? ? ? ? ? android? ?android??android
<4>.? satatic void reverse(List? list):反轉(zhuǎn)
例:List <Interger> list = new ArrayList<Interger> ( ) ;
? ? ? ? list.add(1);
? ? ? ? list.add(2);
? ? ? ? list.add(3);
? ? ? ? list.add(4);
? ? ? ? Collection reverse(list);
? ? ? ? System.out.println(list);
輸出結(jié)果是:4,3,2,1
<5>.? static void Shuffle(List list):隨機(jī)置換
<6>.static void sort (List list):排序
例:1432
Collection.sort(list);
System.out.println(list);
輸出結(jié)果是:1234
<7>.static void Swap(List list , int i , int j):將指定列表中的兩個(gè)索引進(jìn)行位置互換
List<Interger> list = new ArrayList<Interger>();
list.add(1);
list.add(4);
Collection.Swap(list,0,1);
System.out.println(list);
輸出結(jié)果是:4,1