Java之集合工具類
Collections工具類
collections是集合中的一個工具類,封裝的都是靜態方法。
1.sort(List)方法可對list中的元素進行排序。
2.而實現sort(list,comparator)方法的呼叫,要新建class,實現Comparator介面,並複寫compare方法。具體可參照選課後續中對Student自定義資料進行排序的程式碼實現。
3.binarySearch(list,key)方法是使用二分搜尋法獲取list中指定物件的索引,前提是保證list處於有序狀態。其中,key值是要索引的元素。
public void demo_binarysort() { List<String> list = new ArrayList<String>(); list.add("aasddf"); list.add("vdvdf"); list.add("sf"); list.add("dfsf"); Collections.sort(list); System.out.println(list); int index = Collections.binarySearch(list, "sf"); System.out.println(index); }
4. Object max(Collection,Comparator)可獲取Collection集合中的最大值。不指定比較器時,使用預設排序法。
5. void fill(list,value)可將list中所有元素全部替換成value
如 Collections.fill(list,"a");//將list中全部元素替換成a
syso(list);
6.List shuffle(list)對list元素進行隨機排序
Arrays工具類
List Arrays.asList 能將陣列轉化為List集合。
但是由於陣列長度固定,不能使用集合的增刪方法對轉化的list進行操作。
如果陣列中的元素是物件(如String),那麼轉成集合時,直接將陣列中的元素作為集合中的元素進行儲存。
如果陣列中的元素是基本型別數值(如int),那麼會將該陣列作為集合中的元素進行儲存。
同理,集合也可以轉成陣列。使用ToArray方法。此時需要傳入指定型別的陣列。如果陣列長度小於集合的size,那麼該方法會建立一個和原集合長度相同且元素也相同的陣列。如果陣列長度大於集合的size,那麼大於的部分補充null。所以建議將陣列長度定義為集合.size
ForEach語句
格式:
for(型別 變數 :Collection集合 or 陣列)
對map中的key和value進行遍歷:
public static void demo3()
{
Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1,"zhangsan");
map.put(2, "lisi");
map.put(3, "wangwu");
for(Integer key : map.keySet())
{
String value = map.get(key);
System.out.println(key+","+value);
}
}