zoukankan      html  css  js  c++  java
  • 30.3 Collections 集合体系的工具类

    /*
    * Collections:
    * 面试题:Collection和Collections有什么区别?
    * Collection是集合体系的最顶层,包含了集合体系的共性
    * Collections是一个工具类,方法都是用于操作Collection
    *
    * //static int binarySearch(List list, Object key) 使用二分查找法查找指定元素在指定列表的索引位置,必须根据列表元素的自然顺序对列表进行升序排序(通过 sort(List) 方法)
    *
    * //static void copy(List dest, List src) :是把源列表中的数据覆盖到目标列表
    *
    * //static void fill(List list, Object obj) :使用指定的对象填充指定列表的所有元素
    *
    * //static void shuffle(List list):傻否,随机置换
    *
    * //static void reverse(List list) :反转
    *
    * //static void sort(List<T> list) :按照列表中元素的自然顺序进行排序
    *
    */

    public class CollectionsDemo {
        public static void main(String[] args) {
    //        method();
    //        copyMethod();
    
            //shuffle 随机洗牌
            List list = new ArrayList();
            list.add("aa");
            list.add("cc");
            list.add("bb");
    
            Collections.shuffle(list);
            System.out.println(list);
        }
    
        private static void copyMethod() {
            //copy,目标集合元素个数必须大于等于源集合。
            List<String> list = new ArrayList<String>();
            list.add("aa");
            list.add("bb");
    
            List<String> list2 = new ArrayList<String>();
            list2.add("ww");
            list2.add("ww");
            list2.add("ww");
            Collections.copy(list2,list);
            System.out.println(list2);
        }
    
        private static void method() {
            //二分查找法查找指定元素,集合元素必须是按由小到大顺序排列的
            List<Integer> list = new ArrayList<Integer>();
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
    
            int num = Collections.binarySearch(list,2);
            System.out.println(num);
        }
    }

    输出

    案例:

    斗地主

    package day30_HashSet;
    
    import java.util.ArrayList;
    import java.util.Collections;
    
    /*
     *    模拟斗地主发牌
         买牌--装牌--洗牌--发牌
     */
    public class CollectionsTest_斗地主 {
        public static void main(String[] args) {
            //买牌
            String[] arr = {"红桃","黑桃","梅花","方片"};
            String[] arr2 = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
            //装牌
            ArrayList<String> box = new ArrayList<String>();
            for(int i=0;i<arr.length;i++) {
                for(int j=0;j<arr2.length;j++) {
                    box.add(arr[i]+arr2[j]);
                }
            }
    
            box.add("大王");
            box.add("小王");
    
    //        System.out.println(box);
            //洗牌
            Collections.shuffle(box);
    //        System.out.println(box);
    
            //发牌
            ArrayList<String> zhiling = new ArrayList<String>();
            ArrayList<String> shuangqing = new ArrayList<String>();
            ArrayList<String> qingxia = new ArrayList<String>();
    
            //留三张底牌
            for(int i=0;i<box.size()-3;i++) {
                if(i%3==0) {
                    zhiling.add(box.get(i));
                }else if(i%3==1) {
                    shuangqing.add(box.get(i));
                }else if(i%3==2) {
                    qingxia.add(box.get(i));
                }
            }
            System.out.println("zhiling:"+zhiling);
            System.out.println("shuangqing:"+shuangqing);
            System.out.println("qingxia:"+qingxia);
    
            //底牌
            System.out.println("底牌:");
            for(int i=box.size()-3;i<box.size();i++) {
                System.out.println(box.get(i));
            }
    
        }
    }

    输出

  • 相关阅读:
    Python 爬虫一 简介
    linux 基础笔记本
    Celery 分布式任务队列快速入门
    Git & Github
    Python 设计模式
    Python 数据结构
    Python 基础算法
    js2wordcloud 词云包的使用
    lambda 3
    sql server 远程
  • 原文地址:https://www.cnblogs.com/longesang/p/11271743.html
Copyright © 2011-2022 走看看