/**

  • 使用各种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遍历相关推荐

  1. 原生JS forEach()和map()遍历的区别以及兼容写法

    一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...

  2. map遍历删除异常:ConcurrentModificationException

    1. map集合单个删除 此时,一般都不会出问题,直接 remove(key) 2. map集合遍历删除多个 此时,若不注意往往容易出现问题,出现 ConcurrentModificationExce ...

  3. java map string stu_Java Map遍历的三种方式 | 学步园

    最近经常碰到Map遍历的问题,在网上查找资料后,记录下,权当备忘~~~~~~ 这里给出了三种遍历的方式,注释中已说明各自方式的优点. package edu.hrbeu.cloud.testIterM ...

  4. go语言map遍历时删除是安全的, 且可以完全删除

    结论: map遍历时删除操作是完全的,且可以完全删除指定的元素 实验结果如下图: 代码如下: package main import ("fmt" ) func main() {x ...

  5. go语言 sync.map遍历时删除可以全部删除

    结论: sync.map遍历时删除操作是完全的,且可以完全删除指定的元素 实验结果下图: 代码如下: package mainimport ("fmt""sync&quo ...

  6. java 轻量级map,java Map 遍历速度最优解

    java Map 遍历速度最优解 第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (ite ...

  7. Map 遍历取值及jstl的取值

    Map 遍历取值及jstl的取值 学习了:http://blog.csdn.net/yanjiaye520/article/details/17354239 1.Java map的便利取值 Java代 ...

  8. 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 ...

  9. java map遍历_Java中Map集合的两种遍历方式

    Java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下Java中Map集合的两种遍历方式! 关于遍历Map集合的几 ...

  10. JSX列表渲染(五)——4种写法:基本写法 遍历写法 map遍历写法(常用-加工处理数组的每一项数据,最后形成一个新的数组) 列表遍历可以直接写到表达式中

    JSX列表渲染--4种写法:基本写法 & 遍历写法 & map遍历写法(常用-加工处理数组的每一项数据,最后形成一个新的数组) & 列表遍历可以直接写到表达式中 渲染多个元素 ...

最新文章

  1. 笔记 | 深入理解Transformer
  2. c语言算法竞赛入门经典百度云,《算法竞赛入门经典》CH-2(C语言)
  3. Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上
  4. 最新TurboMail邮件服务器Linux_安腾版本上市
  5. Dynamics CRM 访问团队的使用
  6. linux C之access函数
  7. 非常好的Java反射例子
  8. iPhone X 的新解锁技术:用 Python 编写 Face ID!
  9. 巅峰对决 Spring Boot VS .NET 6
  10. ELDD Chapter 2..3 Linux Kernel Facilities
  11. 雷达信号处理---线性调频信号脉冲压缩MATLAB实现
  12. 2022自编译最新稳定版newifi3固件
  13. 学校网站建设的必要性
  14. 基于PythonGUI的原神圣遗物游戏装备管理与角色数值模拟系统
  15. Windows11无法打开 WindowsTerminal 图形化设置界面
  16. pg事务:隔离级别历史与SSI
  17. 四.运行时数据区-本地方法栈(Native Method Stack)-堆-方法区
  18. Excel处理多余符号--查找替换功能SUBTITUTE公式的使用
  19. IDEA插件下载慢怎么办,几步搞定
  20. 三菱数控 MITSUBISHI MELDAS 60 600系统维修

热门文章

  1. php抓取多个网页合并,PHP 使用 CURL 同步抓取多个网页
  2. P3250 [HNOI2016]网络(整体二分)
  3. Codeforces Round #632 (Div. 2)巧用小技巧
  4. AGC019D - Shift and Flip(枚举)
  5. 1.16 模拟(排序)
  6. YbtOJ#526-折纸游戏【二分,hash】
  7. P4168-[Violet]蒲公英【分块】
  8. 2021牛客暑期多校训练营3 C-Minimum grid(二分图)
  9. 牛客练习赛 60(待补E-长链剖分或者dsu)
  10. Codeforces Round #660 (Div. 2)