/*
* 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));
} }
}

输出

30.3 Collections 集合体系的工具类的更多相关文章

  1. 集合中的工具类Collections和Arrays

    集合框架的工具类: Collections: 方法sort(): List<String> list = new ArrayList<String>();        lis ...

  2. Java:集合框架的工具类

    集合框架的工具类 Arrays:里面都是静态方法,直接用来对各种集合进行操作的公有方法. Collections:里面都是静态方法,直接用来对各种集合进行操作的公有方法. 包括: 1.asList将数 ...

  3. 12:集合map、工具类

    一.map集合 Map:一次添加一对元素.Collection 一次添加一个元素. Map也称为双列集合,Collection集合称为单列集合. 其实map集合中存储的就是键值对(结婚证书), map ...

  4. 【JAVA集合框架之工具类】

    一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...

  5. Java:集合,Arrays工具类用法

    1. 描述 Arrays工具类提供了针对数组(Array)的一些操作,比如排序.搜索.将数组(Array)转换列表(List)等等,都为静态(static)方法: binarySearch - 使用二 ...

  6. Java笔记(二十四)……集合工具类Collections&Arrays

    Collections 集合框架的工具类,方法全部为静态 Collections与Collection的区别 Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法 Collect ...

  7. java的集合工具类Collections

    集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么区别? Collection是集合框架中的一个顶层接口,它里面 ...

  8. Java 集合框架工具类

    Collections Arrays Collections 集合框架的工具类, 里面的方法都是静态的, 可以直接使用类名调用 常用方法 1. sort(List<T> list); // ...

  9. Java中的工具类和新特性

    1:Collections集合框架工具类: /* 集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么差别? Co ...

随机推荐

  1. React利用Antd的Form组件实现表单功能(转载)

    一.构造组件 1.表单一定会包含表单域,表单域可以是输入控件,标准表单域,标签,下拉菜单,文本域等. 这里先引用了封装的表单域 <Form.Item /> 2.使用Form.create处 ...

  2. 手写 Promise 符合 Promise/A+规范

    异步编程是前端开发者必需的技能,过去管理异步的主要机制都是通过函数回调,然而会出现像“回调地狱”这样的问题.为了更好的管理回调,ES6 增加了一个新的特性 Promise.Promise 是 ES7 ...

  3. 最长公共前缀(py)

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow" ...

  4. Zend Studio 13.6.1 汉化及安装方法详解

    Zend Studio 13.6.1是一套专业开发人员使用的集成开发环境 (IDE),具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排 ...

  5. idea 新建java类自动补充创建人,创建时间,版本等..

    1.先进入 File 2.进入 Editor 找到 File and Code Templates 并点击 3.右侧点击 lncludes  4.第二项 File Header  /** * @aut ...

  6. hdu1015+hdu1016 都是十分钟以内的深搜题

    hdu1015:给定一串可用序列值,每个字符映射到一个1-26之间的整数,选择五个有序数使得满足 a-b2+c3-d4+e5=target. #include<iostream> #inc ...

  7. 01背包模板题 hdu2602 Bonecollector

    由于数组的滚动过程中当前值(i,j)的更新需要用到上一层的(i-1,j-wi)的值,所以在更新当前的j之前不能更新上一层的j之前的值,故01背包是从后向前更新的(重量取值是从大到小的). 代码如下: ...

  8. [并查集+逆向思维]Codeforces Round 722C Destroying Array

    Destroying Array time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  9. Xmind8 Pro破解版

    思维导图又叫心智导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具.思维导图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来,把主题关键词与图像. ...

  10. python3 open txt的UnicodeDecodeError: 'gbk' codec问题解决方案

    python3 open txt的UnicodeDecodeError: 'gbk' codec问题解决方案先直截了当给出解决方案,在程序开头加上:import _locale_locale._get ...