Collections类的常用方法——高淇JAVA300讲笔记之Collections类

  注意,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 }

 

posted on 2018-01-21 21:23  爱游泳的小飞象  阅读(153)  评论(0编辑  收藏  举报

导航