import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 1.使用二分搜索法搜索指定列表,以获得指定对象
* binarySearch(List<? extends Comparable<? super T>> list, T key) 容器要有序
*
* 2.sort(List<T> list)
* sort(List<T> list, Comparator<? super T> c)
*
* 3.反正指定列表中的元素的顺序
* reverse(List<?> list)
*
* 4.打乱顺序(洗牌)
* shuffle(List<?> list)
*
* 5.将指定容器的对应两个数据进行交换
* swap(List<?> list, int i, int j)
* @author Administrator
*
*/
public class CollectionsDemo {
public static void main(String[] args) {
List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
System.out.println(list);
Collections.reverse(list);
System.out.println("反转之后的list:"+list);
//shuffle 洗牌模拟斗地主
List<Integer> list1=new ArrayList<Integer>();
for (int i = 0; i < 54; i++) {
list1.add(i);
}
//洗牌
Collections.shuffle(list1);
//依次发牌
List<Integer> p1=new ArrayList<Integer>();
List<Integer> p2=new ArrayList<Integer>();
List<Integer> p3=new ArrayList<Integer>();
List<Integer> last=new ArrayList<Integer>(); //留三张底牌
for (int i = 0; i < 51; i+=3) {
p1.add(list1.get(i));
p2.add(list1.get(i+1));
p3.add(list1.get(i+2));
}
last.add(list1.get(51));
last.add(list1.get(52));
last.add(list1.get(53));
System.out.println("第一个人:"+p1);
System.out.println("第二个人:"+p2);
System.out.println("第三个人:"+p3);
System.out.println("底牌为:"+last);
}
}
输出:
[1, 2, 3, 4]
反转之后的list:[4, 3, 2, 1]
第一个人:[27, 35, 21, 41, 20, 23, 19, 49, 40, 43, 53, 50, 31, 10, 8, 12, 46]
第二个人:[44, 28, 7, 14, 36, 47, 34, 32, 39, 9, 1, 26, 52, 0, 45, 4, 17]
第三个人:[22, 33, 16, 3, 37, 11, 38, 30, 29, 42, 18, 13, 15, 51, 24, 25, 2]
底牌为:[6, 5, 48]