set注意点map遍历
/**
- 使用各种set存储多个学生信息
- 问题1:为什么课程名称(String)放入到HashSet、LinkedHashSet都可以保证唯一性,但是学生(Student)
- 放入到HashSet、LinkedHashSet,却无法实现唯一性。
- 问题2:为什么课程名称(String)放入到TreeSet都可以保证唯一性、有序性,但是学生(Student)
- 放入到TreeSet,却直接抛出异常。
- java.lang.ClassCastException: com.bjsxt.set.Student cannot be cast to java.lang.Comparable
- 思考: 是否因为String类是系统类,Student是用户自定义类
- String类应该已经做了某些操作,但是Student类还没有做
- 解答问题1:任意对象放入HashSet、LinkedHashSet等底层结构有哈希表的集合中,必须重写两个方法
- hashCode() equals()
- String类已经重写了这两个方法,而Student类没有重写这两个方法
- 解答问题2:任意对象放入了TreeSet等底层结构是红黑树的集合中,都需要实现Comparable接口,并实现其方法。
- 问题3:Comparable接口至多指定一种规则,如果希望按照更多的排序规则放入TreeSet等集中,该怎么办?
- 解决:可以使用外部比较器Comparator。
*/
Set<Map.Entry<Integer,Student>> entrySet =map.entrySet();Iterator <Map.Entry<Integer,Student>>it = entrySet.iterator();while(it.hasNext()){Map.Entry<Integer,Student> entry= it.next();Student stu = entry.getValue();System.out.println(stu);}
set注意点map遍历相关推荐
- 原生JS forEach()和map()遍历的区别以及兼容写法
一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...
- map遍历删除异常:ConcurrentModificationException
1. map集合单个删除 此时,一般都不会出问题,直接 remove(key) 2. map集合遍历删除多个 此时,若不注意往往容易出现问题,出现 ConcurrentModificationExce ...
- java map string stu_Java Map遍历的三种方式 | 学步园
最近经常碰到Map遍历的问题,在网上查找资料后,记录下,权当备忘~~~~~~ 这里给出了三种遍历的方式,注释中已说明各自方式的优点. package edu.hrbeu.cloud.testIterM ...
- go语言map遍历时删除是安全的, 且可以完全删除
结论: map遍历时删除操作是完全的,且可以完全删除指定的元素 实验结果如下图: 代码如下: package main import ("fmt" ) func main() {x ...
- go语言 sync.map遍历时删除可以全部删除
结论: sync.map遍历时删除操作是完全的,且可以完全删除指定的元素 实验结果下图: 代码如下: package mainimport ("fmt""sync&quo ...
- java 轻量级map,java Map 遍历速度最优解
java Map 遍历速度最优解 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (ite ...
- Map 遍历取值及jstl的取值
Map 遍历取值及jstl的取值 学习了:http://blog.csdn.net/yanjiaye520/article/details/17354239 1.Java map的便利取值 Java代 ...
- Java 集合List、Set、HashMap操作二(Map遍历、List反向、Set删除指定元素,集合只读、TreeMap操作、List转Array、List移动元素)
Map遍历 import java.util.Map; import java.util.HashMap; import java.util.HashSet; import java.util.Ite ...
- java map遍历_Java中Map集合的两种遍历方式
Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...
- JSX列表渲染(五)——4种写法:基本写法 遍历写法 map遍历写法(常用-加工处理数组的每一项数据,最后形成一个新的数组) 列表遍历可以直接写到表达式中
JSX列表渲染--4种写法:基本写法 & 遍历写法 & map遍历写法(常用-加工处理数组的每一项数据,最后形成一个新的数组) & 列表遍历可以直接写到表达式中 渲染多个元素 ...
最新文章
- 笔记 | 深入理解Transformer
- c语言算法竞赛入门经典百度云,《算法竞赛入门经典》CH-2(C语言)
- Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上
- 最新TurboMail邮件服务器Linux_安腾版本上市
- Dynamics CRM 访问团队的使用
- linux C之access函数
- 非常好的Java反射例子
- iPhone X 的新解锁技术:用 Python 编写 Face ID!
- 巅峰对决 Spring Boot VS .NET 6
- ELDD Chapter 2..3 Linux Kernel Facilities
- 雷达信号处理---线性调频信号脉冲压缩MATLAB实现
- 2022自编译最新稳定版newifi3固件
- 学校网站建设的必要性
- 基于PythonGUI的原神圣遗物游戏装备管理与角色数值模拟系统
- Windows11无法打开 WindowsTerminal 图形化设置界面
- pg事务:隔离级别历史与SSI
- 四.运行时数据区-本地方法栈(Native Method Stack)-堆-方法区
- Excel处理多余符号--查找替换功能SUBTITUTE公式的使用
- IDEA插件下载慢怎么办,几步搞定
- 三菱数控 MITSUBISHI MELDAS 60 600系统维修
热门文章
- php抓取多个网页合并,PHP 使用 CURL 同步抓取多个网页
- P3250 [HNOI2016]网络(整体二分)
- Codeforces Round #632 (Div. 2)巧用小技巧
- AGC019D - Shift and Flip(枚举)
- 1.16 模拟(排序)
- YbtOJ#526-折纸游戏【二分,hash】
- P4168-[Violet]蒲公英【分块】
- 2021牛客暑期多校训练营3 C-Minimum grid(二分图)
- 牛客练习赛 60(待补E-长链剖分或者dsu)
- Codeforces Round #660 (Div. 2)