Collections 核心靜態方法
| 方法 | 說明 |
sort(List list) | 自然順序排序 |
binarySearch(List list, T key) | 二分查找,前提列表已排序 |
reverse(List> list) | 反轉列表順序 |
shuffle(List> list) | 隨機打亂順序 |
swap(List> list, int i, int j) | 交換指定位置元素 |
fill(List super T> list, T obj) | 用指定元素填充列表 |
完整演示代碼
import java.util.*;
public class CollectionsDemo {
public static void main(String[] args) {
List list = new ArrayList<>(Arrays.asList("zhangsan", "lisi", "wangwu", "zhaoliu", "tianqi"));
print("操作前", list);
Collections.swap(list, 1, 2);
print("交換索引 1 和 2 後", list);
Collections.sort(list);
print("自然排序後", list);
int idx = Collections.binarySearch(list, "zhaoliu");
System.out.println("二分查找 'zhaoliu' 索引:" + idx);
Collections.shuffle(list);
print("打亂順序後", list);
Collections.fill(list, "jay");
print("填充 'jay' 後", list);
}
static void print(String label, List list) {
System.out.print(label + ":");
list.forEach(s -> System.out.print(s + " "));
System.out.println();
}
}
運行輸出
操作前:zhangsan lisi wangwu zhaoliu tianqi
交換索引 1 和 2 後:zhangsan wangwu lisi zhaoliu tianqi
自然排序後:lisi tianqi wangwu zhangsan zhaoliu
二分查找 'zhaoliu' 索引:4
打亂順序後:zhaoliu tianqi wangwu zhangsan lisi
填充 'jay' 後:jay jay jay jay jay
實用提示
binarySearch 要求列表已按自然順序或比較器排序,否則結果未定義。
shuffle 使用預設隨機源,可傳入 Random 實例以控制種子。
fill 會替換列表中所有元素,慎用。