java api集合,javaAPI_集合基础_集合中常见操作示例
集合中常见的操作
1.list集合去重
//使用HashSet去重
public static List removeDuplicate(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
return list;
}
其他内容待添加
一个集合操作(Collections类操作)的综合案例:(模拟斗地主)
package com.cn.collectiontool;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
/*
* 思路:
* A:创建一个HashMap集合
* B:创建一个ArrayList集合
* C:创建花色数组和点数数组
* D:从0开始往HashMap里面存储编号,并存储对应的牌
* 同时往ArrayList里面存储编号即可。
* E:洗牌(洗的是编号)
* F:发牌(发的也是编号,为了保证编号是排序的,就创建TreeSet集合接收)
* G:看牌(遍历TreeSet集合,获取编号,到HashMap集合找对应的牌)
*/
public class PokerDemo {
public static void main(String[] args) {
// 创建一个HashMap集合
HashMap hm = new HashMap();
// 创建一个ArrayList集合
ArrayList array = new ArrayList();
// 创建花色数组和点数数组
// 定义一个花色数组
String[] colors = { "?", "?", "?", "?" };
// 定义一个点数数组
String[] numbers = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q",
"K", "A", "2", };
// 从0开始往HashMap里面存储编号,并存储对应的牌,同时往ArrayList里面存储编号即可。
int index = 0;
for (String number : numbers) {
for (String color : colors) {
String poker = color.concat(number);
hm.put(index, poker);
array.add(index);
index++;
}
}
hm.put(index, "小王");
array.add(index);
index++;
hm.put(index, "大王");
array.add(index);
// 洗牌(洗的是编号)
Collections.shuffle(array);
// 发牌(发的也是编号,为了保证编号是排序的,就创建TreeSet集合接收)
TreeSet fengQingYang = new TreeSet();
TreeSet linQingXia = new TreeSet();
TreeSet liuYi = new TreeSet();
TreeSet diPai = new TreeSet();
for (int x = 0; x < array.size(); x++) {
if (x >= array.size() - 3) {
diPai.add(array.get(x));
} else if (x % 3 == 0) {
fengQingYang.add(array.get(x));
} else if (x % 3 == 1) {
linQingXia.add(array.get(x));
} else if (x % 3 == 2) {
liuYi.add(array.get(x));
}
}
// 看牌(遍历TreeSet集合,获取编号,到HashMap集合找对应的牌)
lookPoker("张三", fengQingYang, hm);
lookPoker("李四", linQingXia, hm);
lookPoker("王五", liuYi, hm);
lookPoker("底牌", diPai, hm);
}
// 写看牌的功能 public static void lookPoker(String name, TreeSet ts, HashMap hm) { System.out.print(name + "的牌是:"); for (Integer key : ts) { String value = hm.get(key); System.out.print(value + " "); } System.out.println(); }}
java api集合,javaAPI_集合基础_集合中常见操作示例相关推荐
- java教学视频毕向东_集合3--毕向东java基础教程视频学习笔记
Day 15 集合框架 01 TreeSet 02 TreeSet存储自定义对象 03 二叉树 04 实现Comparator方式排序 05 TreeSet练习 06 泛型概述 07 泛型使用 08 ...
- Java基础_集合框架1
一.集合框架(体系概述) 为什么会出现集合框架(集合类)? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合框架 ...
- java基础_集合框架
集合:例如 偶数.水仙花数.奇数,班集体 都属于集合 还有{"111","sss",aaa"}也是集合 集合框架JCF(java collection ...
- java集合框架的结构_集合框架(Collections Framework)详解及代码示例
简介 集合和数组的区别: 数组存储基础数据类型,且每一个数组都只能存储一种数据类型的数据,空间不可变. 集合存储对象,一个集合中可以存储多种类型的对象.空间可变. 严格地说,集合是存储对象的引用,每个 ...
- 如何获取集合里面的下标_集合上下极限公式的理解
对于集合的上下极限,有公式为: , 这里面要注意的是如果要避免混淆,应该将等式左边的下标变量修改为 ,也就是左边的下标变量和右边的没有任何关系.如果如下修改,就不会造成任何误解 , 现在问题上极限为什 ...
- python运算符计算集合差集的是_集合的运算(交集、并集和差集)
我们在遇到一些问题的时候,使用集合的交集.并集和差集能够更便捷的帮助我们去解决问题,看下面一个例子. 某学校有两个班级,班级A需要学习数学.语文.英语.物理.化学和生物,班级B需要学习数学.语文.英语 ...
- iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...
- python 绘制分布直方图_统计学中常见的4种抽样分布及其分布曲线(Python绘制)...
现代统计学奠基人之一.英国统计学家费希尔(Fisher)曾把抽样分布.参书估计和假设检验看作统计推断的三大中心内容. 统计学中,需要研究统计量的性质,并评价一个统计推断的优良性,而这些取决于其抽样分布 ...
- java基础_集合List与Set接口
List接口继承了Collection的方法 当然也有自己特有的方法向指定位置添加元素 add(索引,添加的元素); 移除指定索引的元素 remove(索引) 修改指定索引的元素 set ...
最新文章
- Groovy学习摘要
- linux服务器的搭建配置与应用,linux服务器的搭建与配置
- Win2003下Exchange2003部署图解之二
- 乐高ev3 读取外部数据_数据就是新乐高
- 【2019浙江省赛 - E】Sequence in the Pocket(思维)
- [转载] --- 让线程按顺序执行8种方法
- RTX5 | 消息队列04 - (实战技巧)串口中断回调函数ISR同步线程
- python使用json序列化datetime类型问题处理
- oracle中varchar与varchar2的区别
- Git安装及基本配置
- MyBatis中出现Mapped Statements collection does not contain value 问题
- java 多线程 面试题整理(更新......)
- Win10预览版之BUG
- Python:摄氏温度转华氏温度
- access如何求平均单价_ACCESS中计算日均值
- zoho邮箱收信服务器,配置邮件交付 - Zoho Mail 设置
- 用手机APP来养一盆绿植,这个黑科技智能花盆实在是太炫酷 | 钛空舱
- 小程序onShareTimeline()分享朋友圈 --仅限Android
- mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
- Matlab Function输入输出
热门文章
- easyui点击搜索的时候获取不要文本框里面的值的问题
- 使用Red Gate Sql Data Compare 数据库同步工具进行SQL Server的两个数据库的数据比较、同步...
- juqery 获取radio选中的值
- phpcms /api/phpsso.php SQL Injection Vul
- vlan后 出现 outlook 正在试图从服务器检索数据
- 胖子哥大数据之路(一)-数据仓库也需要大数据
- 4 在vCenter Server安装View Composer组件
- 数字化转型将迎提速黄金期,金融行业如何转型?
- 关于intellij的配置安装
- 带你入门 CSS Grid 布局