集合中常见的操作

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_集合基础_集合中常见操作示例相关推荐

  1. java教学视频毕向东_集合3--毕向东java基础教程视频学习笔记

    Day 15 集合框架 01 TreeSet 02 TreeSet存储自定义对象 03 二叉树 04 实现Comparator方式排序 05 TreeSet练习 06 泛型概述 07 泛型使用 08 ...

  2. Java基础_集合框架1

    一.集合框架(体系概述) 为什么会出现集合框架(集合类)? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合框架 ...

  3. java基础_集合框架

    集合:例如 偶数.水仙花数.奇数,班集体 都属于集合 还有{"111","sss",aaa"}也是集合 集合框架JCF(java collection ...

  4. java集合框架的结构_集合框架(Collections Framework)详解及代码示例

    简介 集合和数组的区别: 数组存储基础数据类型,且每一个数组都只能存储一种数据类型的数据,空间不可变. 集合存储对象,一个集合中可以存储多种类型的对象.空间可变. 严格地说,集合是存储对象的引用,每个 ...

  5. 如何获取集合里面的下标_集合上下极限公式的理解

    对于集合的上下极限,有公式为: , 这里面要注意的是如果要避免混淆,应该将等式左边的下标变量修改为 ,也就是左边的下标变量和右边的没有任何关系.如果如下修改,就不会造成任何误解 , 现在问题上极限为什 ...

  6. python运算符计算集合差集的是_集合的运算(交集、并集和差集)

    我们在遇到一些问题的时候,使用集合的交集.并集和差集能够更便捷的帮助我们去解决问题,看下面一个例子. 某学校有两个班级,班级A需要学习数学.语文.英语.物理.化学和生物,班级B需要学习数学.语文.英语 ...

  7. iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误

    在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...

  8. python 绘制分布直方图_统计学中常见的4种抽样分布及其分布曲线(Python绘制)...

    现代统计学奠基人之一.英国统计学家费希尔(Fisher)曾把抽样分布.参书估计和假设检验看作统计推断的三大中心内容. 统计学中,需要研究统计量的性质,并评价一个统计推断的优良性,而这些取决于其抽样分布 ...

  9. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

最新文章

  1. Groovy学习摘要
  2. linux服务器的搭建配置与应用,linux服务器的搭建与配置
  3. Win2003下Exchange2003部署图解之二
  4. 乐高ev3 读取外部数据_数据就是新乐高
  5. 【2019浙江省赛 - E】Sequence in the Pocket(思维)
  6. [转载] --- 让线程按顺序执行8种方法
  7. RTX5 | 消息队列04 - (实战技巧)串口中断回调函数ISR同步线程
  8. python使用json序列化datetime类型问题处理
  9. oracle中varchar与varchar2的区别
  10. Git安装及基本配置
  11. MyBatis中出现Mapped Statements collection does not contain value 问题
  12. java 多线程 面试题整理(更新......)
  13. Win10预览版之BUG
  14. Python:摄氏温度转华氏温度
  15. access如何求平均单价_ACCESS中计算日均值
  16. zoho邮箱收信服务器,配置邮件交付 - Zoho Mail 设置
  17. 用手机APP来养一盆绿植,这个黑科技智能花盆实在是太炫酷 | 钛空舱
  18. 小程序onShareTimeline()分享朋友圈 --仅限Android
  19. mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
  20. Matlab Function输入输出

热门文章

  1. easyui点击搜索的时候获取不要文本框里面的值的问题
  2. 使用Red Gate Sql Data Compare 数据库同步工具进行SQL Server的两个数据库的数据比较、同步...
  3. juqery 获取radio选中的值
  4. phpcms /api/phpsso.php SQL Injection Vul
  5. vlan后 出现 outlook 正在试图从服务器检索数据
  6. 胖子哥大数据之路(一)-数据仓库也需要大数据
  7. 4 在vCenter Server安装View Composer组件
  8. 数字化转型将迎提速黄金期,金融行业如何转型?
  9. 关于intellij的配置安装
  10. 带你入门 CSS Grid 布局