Collections類方法的簡單使用

package ocm.axb.cheney.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CollectionSort {
	public CollectionSort() {
	}

	@SuppressWarnings("unchecked")
	public static void main(String args[]) {
		double array[] = { 111, 22, 333, 40, 10, 411 };
		double targetArray[] = { 1, 2, 10, 4, 7, 6 };
		List list1 = new ArrayList();
		List list2 = new ArrayList();
		returnList(list1, array);
		returnList(list2, targetArray);
		// 使用sort方法可以根據元素的自然順序 對指定列表按升序進行排序。列表中的所有元素都必須實現 
		// Comparable 接口。此列表內的所有元素都必須是使用指定比較器可相互比較的
		//Collections.sort(list1);
	
		/*	混排(Shuffling)  
		混排算法所做的正好與 sort 相反: 它打亂在一個 List 中可能有的任何排列的蹤跡。也就是說,基於隨機源的輸入重排該 List, 這樣的排列具有相同的可能性(假設隨機源是公正的)。這個算法在實現一個碰運氣的遊戲中是非常有用的。例如,它可被用來混排代表一副牌的 Card 對象的一個 List 。另外,在生成
		測試案例時,它也是十分有用的*/
		//Collections.shuffle(list1);
		
		//反轉(Reverse)   使用Reverse方法可以先根據元素的自然順序(Collections.sort(list1);)再對指定列表按降序進行排序
		//Collections.reverse(list1);

		//替換所以的元素(Fill)使用指定元素替換指定列表中的所有元素。
		//Collections.fill(list1, "aaa");
		
		//拷貝(Copy)  用兩個參數,一個目標 List 和一個源 List, 將源的元素拷貝到目標,並覆蓋它的內容。目標 List 至少與
		//源一樣長。如果它更長,則在目標 List 中的剩餘元素不受影響。  Collections.copy(list,li): 後面一個參數是目標列表 ,前一個是源列表 
		//Collections.copy(list1,list2);
		
		//返回Collections中最小元素(min)或者最大元素(max)  
		//根據指定比較器產生的順序,返回給定 collection 的最小元素。collection 中的所有元素都必須是通過指
		//定比較器可相互比較的
		//System.out.println(Collections.min(list1));
		//System.out.println(Collections.max(list1));

		//交換一個線性表中兩個元素的位置。  
		Collections.swap(list1, 0, 1);
		for (int i = 0; i < array.length; i++) {
		System.out.println(list1.get(i));
		}
	}

	@SuppressWarnings("unchecked")
	public static List returnList(List list, double array[]) {
		for (int i = 0; i < array.length; i++) {
			list.add(new Double(array[i]));
		}
		return list;
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章