java容器工具類Collections常用方法
/**
* 測試Collections工具類的常用方法
*/
public class TestCollections {
? ?public static void main(String[] args) {
? ? ? ?List<String> al1 = new ArrayList<>();
? ? ? ?al1.add("a");
? ? ? ?al1.add("b");
? ? ? ?al1.add("c");
? ? ? ?al1.add("d");
? ? ? ?System.out.println(al1+"[a, b, c, d]");
? ? ? ?Collections.shuffle(al1);
? ? ? ?//shuffle洗牌 .shuffle(List)將List隨機(jī)排序/打亂順序
? ? ? ?System.out.println(al1);
? ? ? ?//結(jié)果為[b, a, c, d] ? .shuffle()每次結(jié)果不同
? ? ? ?Collections.sort(al1);
? ? ? ?//.sort()排序方法的使用同Arrays.sort() ? ?需要元素自身實現(xiàn)排序規(guī)則Comparable或指定比較器Comparator
? ? ? ?//Collections.sort(List)對List進(jìn)行排序時直接返回list.sort(null) ? List.sort()為List接口的默認(rèn)方法,所有List實現(xiàn)類可以直接.sort()進(jìn)行排序
? ? ? ?System.out.println(al1+"[a, b, c, d]");
? ? ? ?Collections.shuffle(al1);
? ? ? ?al1.sort(null);
? ? ? ?//.sort方法無返回值,不能直接套print()打印,參數(shù)為比較器,傳null即不設(shè)比較器,需元素自身實現(xiàn)比較規(guī)則
? ? ? ?System.out.println(al1+"[a, b, c, d]");
? ? ? ?Collections.reverse(al1);
? ? ? ?//reverse顛倒 .reverse()方法將容器逆序排列
? ? ? ?System.out.println(al1);
? ? ? ?//結(jié)果為[d, c, b, a]
? ? ? ?al1.sort(null);
? ? ? ?System.out.println(Collections.binarySearch(al1,"e"));
? ? ? ?//.binarySearch()二分法查找,用法同Arrays.binarySearch() 需要先對容器進(jìn)行排序再使用 ? 找到返回index沒找到返回負(fù)數(shù)
? ? ? ?Collections.fill(al1,"z");
? ? ? ?//.fill(List,T obj)泛型方法 將容器中的元素全部變?yōu)閛bj
? ? ? ?System.out.println(al1);
? ? ? ?//結(jié)果為[z, z, z, z] ? ArrayList默認(rèn)初始化容量為10 但.fill()只對size填充,只把所有元素填為obj,容器中未使用的位置依然為null
? ?}
}