Collections一个操作集合的工具类,提供的方法都是静态方法,构造方法已被私有化。
package com;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
System.out.println("--------洗牌--------");
List<Integer> list = new ArrayList<Integer>();
// 添加54张牌,每个i对应一张牌
for (int i = 0; i < 54; i++) {
list.add(i);
}
Collections.shuffle(list); // 洗牌(打乱顺序)
// 三个人的牌
List<Integer> list1 = new ArrayList<Integer>();
List<Integer> list2 = new ArrayList<Integer>();
List<Integer> list3 = new ArrayList<Integer>();
// 底牌
List<Integer> dipai = new ArrayList<Integer>();
for (int i = 0; i < 51; i += 3) {
list1.add(list.get(i));
list2.add(list.get(i + 1));
list3.add(list.get(i + 2));
}
dipai.add(list.get(51));
dipai.add(list.get(52));
dipai.add(list.get(53));
System.out.println("第一个人的牌:" + list1);
System.out.println("第二个人的牌:" + list2);
System.out.println("第三个人的牌:" + list3);
System.out.println("底牌:" + dipai);
System.out.println("----------排序----------");
List<String> list_sort = new ArrayList<String>();
list_sort.add("ddd");
list_sort.add("bbb");
list_sort.add("aaa");
list_sort.add("ccc");
System.out.println("排序前:" + list_sort);
Collections.sort(list_sort);
System.out.println("排序后:" + list_sort);
System.out.println("----------反转----------");
List<String> list_reverse = new ArrayList<String>();
list_reverse.add("111");
list_reverse.add("444");
list_reverse.add("999");
list_reverse.add("000");
System.out.println("反转前:" + list_reverse);
Collections.reverse(list_reverse);
System.out.println("反转后:" + list_reverse);
System.out.println("----------返回最大最小值----------");
List<Integer> list_max_min = new ArrayList<Integer>();
list_max_min.add(3);
list_max_min.add(20);
list_max_min.add(12);
list_max_min.add(9);
System.out.println("最大值:" + Collections.max(list_max_min));
System.out.println("最小值:" + Collections.min(list_max_min));
}
}
运行结果:
--------洗牌--------
第一个人的牌:[25, 33, 41, 14, 3, 46, 39, 51, 50, 45, 2, 40, 6, 42, 15, 21, 30]
第二个人的牌:[53, 32, 13, 38, 11, 24, 8, 43, 22, 7, 9, 4, 49, 35, 36, 16, 27]
第三个人的牌:[48, 47, 18, 1, 26, 31, 17, 5, 20, 23, 34, 28, 29, 52, 0, 44, 10]
底牌:[19, 37, 12]
----------排序----------
排序前:[ddd, bbb, aaa, ccc]
排序后:[aaa, bbb, ccc, ddd]
----------反转----------
反转前:[111, 444, 999, 000]
反转后:[000, 999, 444, 111]
----------返回最大最小值----------
最大值:20
最小值:3