zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    css浏览器兼容问题集锦
    【转】H264编码原理以及I帧B帧P帧
    Makefile Shell 脚本;sed命令
    oProfile 学习
    C++ 局部变量的析构
    【转】C++ 单例模式
    C++ operator 知识点 2
    C++ operator 知识点
    218多校第九场 HDU 6424 (数学)
    2018多校第九场 HDU 6416 (DP+前缀和优化)
  • 原文地址:https://www.cnblogs.com/swimminglover/p/8325644.html
Copyright © 2011-2022 走看看