/*
* 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. iview Checkbox 多选框 v-model 赋值方法 this.innerValueArr = [this.previousValue]

    iview Checkbox 多选框 v-model 赋值方法 this.innerValueArr = [this.previousValue]

  2. 视频 embed标签动态改变Src的值,局部刷新播放其他视频的javascript方法

    看图: 视频处html代码: <div id="mod_player" class="mod_player"> <embed id=" ...

  3. 关于Idea中不能使用Scanner在console

    遇到了麻烦,在Idea中使用@Test运行程序时,scanner在控制台无法输入,然后来回折腾... 创建了一个新的类里面含有main方法,可以完美运行scanner: 重新回来,发现还是不行, 创建 ...

  4. ubuntu 16.04服务器安装apache2 + php + mysql

    具体操作 第一步:安装mysql apt-get install mysql-server mysql-client 第二步:安装apache2 apt-get install apache2 第三步 ...

  5. docker-ce 在windows10下使用volume的注意事项

    最近想搭建一套CI/CD环境尝试一下,因为手里云服务太小了(1C1G),撑不起来gitlab和jenkins.恰巧年前配了台高配版的windows机器,就想在家里的机器上通过docker装gitlab ...

  6. Natas2 Writeup(水平越权)

    Natas2: 查看源码,发现页面隐藏了一个图片的连接,分析图片,无隐写内容,联想到目录权限问题,访问同级目录http://natas2.natas.labs.overthewire.org/file ...

  7. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  8. Error while importing sbt project:--创建sbt项目导入文件出错

    错误截图如下: Error while importing sbt project: List([info] Loading global plugins from C:\Users\RYJ\.sbt ...

  9. [转]【maven】解决Missing artifact jdk.tools:jdk.tools:jar:1.6

    解决在pom.xml文件中出现的Missing artifact jdk.tools:jdk.tools:jar:1.6问题 <dependency> <groupId>jdk ...

  10. F版本SpringCloud 4—Eureka注册中心开发和客户端开发

    源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 通过前三篇文章,用大白话介绍了微服务和SpringCloud以及服务治理相关的概 ...