来源:http://www.bjsxt.com/
1、S02E128_01工具栏Collections
package com.test.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/*
* Collections的常用方法:
* <br>binarySearch(List<? extends Comparable<? super T>> list, T key)/使用二分搜索法搜索指定列表,以获得指定对象。
* <br>binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
* <br>fill(List<? super T> list, T obj)/使用指定元素替换指定列表中的所有元素。
* <br>reverse(List<?> list)/反转指定列表中元素的顺序。
* <br>shuffle(List<?> list, Random rnd)/使用指定的随机源对指定列表进行置换。
* <br>sort(List<T> list)/根据元素的自然顺序 对指定列表按升序进行排序。
* <br>sort(List<T> list, Comparator<? super T> c)/根据指定比较器产生的顺序对指定列表进行排序。
* <br>swap(List<?> list, int i, int j)/在指定列表的指定位置处交换元素。
* <br>模拟斗地主
*/
public class CollectionsUtil {
public static void main(String[] args) {
List<Integer> cards = new ArrayList<Integer>();
for (int i = 0; i < 54; i++) {
cards.add(i);
}
//洗牌
Collections.shuffle(cards);
//依次发牌
List<Integer> p1 = new ArrayList<Integer>();
List<Integer> p2 = new ArrayList<Integer>();
List<Integer> p3 = new ArrayList<Integer>();
List<Integer> lastp = new ArrayList<Integer>();
for (int i = 0; i < 51; i+=3) {
p1.add(cards.get(i));
p2.add(cards.get(i+1));
p3.add(cards.get(i+2));
}
//最后三张为底牌
lastp.add(cards.get(51));
lastp.add(cards.get(52));
lastp.add(cards.get(53));
System.out.println("第一个人的牌:" + p1.toString());
System.out.println("第二个人的牌:" + p2.toString());
System.out.println("第三个人的牌:" + p3.toString());
System.out.println("底牌:" + lastp.toString());;
}
}