注意,Collections类是有s的,要跟Collection接口区分开。
以下代码介绍了shuffle和reverse方法。其中,用shuffle方法模拟了斗地主的洗牌。
1 package com.bjsxt.sort.util; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.List; 6 7 /** 8 * 1、binarySearch(List<? extends Comparable<? super T>> list, T key) 容器有序 9 * 2、sort(List<T> list) 10 * sort(List<T> list, Comparator<? super T> c) 11 * 3、reverse(List<?> list) 12 * 4、shuffle(List<?> list) 洗牌 13 * 5、swap(List<?> list, int i, int j) 14 */ 15 public class CollectionsDemo01 { 16 public static void main(String[] args) { 17 List<Integer> cards = new ArrayList<Integer>(); 18 //shuffle 洗牌 模拟斗地主 19 for(int i=0;i<54;i++) { 20 cards.add(i); 21 } 22 //洗牌 23 Collections.shuffle(cards); 24 //依次发牌 25 List<Integer> p1 = new ArrayList<Integer>(); //斗地主选手 26 List<Integer> p2 = new ArrayList<Integer>(); 27 List<Integer> p3 = new ArrayList<Integer>(); 28 List<Integer> last = new ArrayList<Integer>(); //底牌 29 for(int i=0;i<51;i+=3) { 30 p1.add(cards.get(i)); 31 p2.add(cards.get(i+1)); 32 p3.add(cards.get(i+2)); 33 } 34 35 //最后三张为底牌 36 last.add(cards.get(51)); 37 last.add(cards.get(52)); 38 last.add(cards.get(53)); 39 40 System.out.println("第一个人:"+p1); 41 System.out.println("第二个人:"+p2); 42 System.out.println("第三个人:"+p3); 43 System.out.println("底牌为:"+last); 44 45 46 } 47 //反转 48 public static void test1() { 49 List<Integer> list = new ArrayList<Integer>(); 50 list.add(1); 51 list.add(2); 52 list.add(3); 53 list.add(4); 54 System.out.println(list); 55 Collections.reverse(list); 56 System.out.println("反转之后"+list); 57 } 58 }