1. 程式人生 > >Java之集合工具類

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);
		}
	}