LinkedHashMap可以认为是 HashMap+LinkedList , 即它既使用 HashMap操作数据结构 , 又使用LinkedList维护插入元素的先后顺序 。
LinkedHashMap的基本实现思想就是---- 多态 。
3)TreeMap
TreeMap是SortedMap的实现类 , 是一个红黑树的数据结构 , 每个key-value对作为红黑树的一个节点 。TreeMap存储key-value对时 , 需要根据key对节点进行排序 。TreeMap也有两种排序方式:
♦ 自然排序:TreeMap的所有key必须实现Comparable接口 , 而且所有的key应该是同一个类的对象 , 否则会抛出ClassCastException 。
♦ 定制排序:创建TreeMap时 , 传入一个Comparator对象 , 该对象负责对TreeMap中的所有key进行排序 。
TreeMap特点:
· TreeMap是非线程安全的;
·TreeMap是用键来进行升序顺序来排序的 。通过Comparable 或 Comparator来排序;
· 和 HashMap一样 , 如果插入重复的元素 , 后面的元素会覆盖前面的 ;
· 键不可以为 null(如果比较器对null做了处理 , 就可以为null),但是值可以为null 。
5、遍历
第一种: for循环遍历
1 for (int i = 0; i < heros.size(); i++) {2Hero h = heros.get(i);3System.out.println(h);4}第二种:迭代器遍历
1 System.out.println("--------使用while的iterator-------"); 2Iterator<Hero> it= heros.iterator(); 3//从最开始的位置判断"下一个"位置是否有数据 4//如果有就通过next取出来 , 并且把指针向下移动 5//直到"下一个"位置没有数据 6while(it.hasNext()){ 7Hero h = it.next(); 8System.out.println(h); 9}10//迭代器的for写法11System.out.println("--------使用for的iterator-------");12for (Iterator<Hero> iterator = heros.iterator(); iterator.hasNext();) {13Hero hero = (Hero) iterator.next();14System.out.println(hero);15}第三种:增强 for循环
1 System.out.println("--------增强型for循环-------");2for (Hero h : heros) {3System.out.println(h);4}
推荐阅读
- 明星|这些明星改变了我对“方脸”的偏见,高级显气质,而且越老越耐看
- Java|Java:2022年招聘Java开发人员指南
- 穿衣搭配|50+想要穿出高级感,快来和这位姐妹学习,普通单品都能超神
- Java|HR傲慢对待求职者,还“诅咒”对方找不到工作,大学生也太难了
- 在Java 8及更高版本中使用Java流
- Java实现第三方短信接口发送短信验证码
- 安卓|8月30日登场!ColorOS 13新特性爆料汇总
- Java|“年薪20万”VS“银行柜员”该怎么选?内部员工:无条件选后者
- Android 13 新特性:1 小时后自动清理剪贴板内容
- 燃脂|周冬雨拍杂志好大胆!首次尝试半裸风格,蓝色短发像精灵,好高级啊
