首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第一章:集合概述
第二章:Collection 接口
2.1 概述
2.2 常用方法
第三章:Iterator 迭代器
3.1 Iterator 接口
3.2 迭代器实现原理
3.3 使用 Iterator 迭代器删除元素
3.4 并发修改异常
3.5 集合存储自定义对象并迭代
3.6 增强 for 循环
3.7 java.lang.Iterable 接口
第四章:List 接口
4.1 概述
4.2 常用方法
4.3 List 特有的迭代器 ListIterator
4.4 List 接口的实现类:ArrayList
4.5 List 接口的实现类:LinkedList
第五章:Set 接口
5.1 概述
5.2 Set 的实现类:HashSet
5.3 Set 的实现类之三:TreeSet
第六章:Collections 工具类
6.1 概述
6.2 常用方法
6.3 Collections 的同步控制方法
第七章:Map 接口
7.1 概述
Map 接口常用的方法
7.2 Map 的实现类:HashMap
7.3 Map 的实现类:LinkedHashMap
7.4 Map 的实现类:Hashtable
7.5 Map 的实现类:TreeMap
7.6 Map 的实现类:Properties
当前位置:
首页>>
技术小册>>
Java语言基础10-Java中的集合
小册名称:Java语言基础10-Java中的集合
- TreeMap 存储 Key - Value 对时,需要根据 key - value 对进行排序。 - TreeMap 可以保证所有的 key - value 对处于有序状态。 - TreeMap 底层使用红黑树结构存储数据。 - TreeMap 的 key 的排序: - 自然排序:TreeMap 的所有的 key 必须实现 Comparable 接口,而且所有的 key 应该是同一个类的对象,否则将会抛出 ClasssCastException 。 - 定制排序:创建 TreeMap 时,传入一个Comparator 对象,该对象负责对TreeMap中的所有key进行排序。此时不需要 Map 的 key 实现 Comparable 接口。 - TreeMap 判断两个 key 相等的标准:两个 key 通过 compareTo() 方法或者 compare() 方法返回 0 。 - 示例: ``` package com.github.map.demo7; import java.util.Map; import java.util.TreeMap; /** * @author maxiaoke.com * @version 1.0 */ public class Test { public static void main(String[] args) { Map<String, Integer> map = new TreeMap<>(); map.put("c", 25); map.put("h", 18); map.put("a", 21); map.put("b", 98); System.out.println("map = " + map); } } ``` 示例: ``` package com.github.map.demo8; import java.util.Comparator; import java.util.Map; import java.util.TreeMap; /** * @author maxiaoke.com * @version 1.0 */ public class Test { public static void main(String[] args) { Map<Person, String> map = new TreeMap<>(new Comparator<Person>() { @Override public int compare(Person o1, Person o2) { return o1.getAge() - o2.getAge(); } }); map.put(new Person("张三", 18), "大一"); map.put(new Person("李四", 20), "大一"); map.put(new Person("王五", 19), "大二"); map.put(new Person("赵六", 23), "大四"); map.put(new Person("田七", 17), "大一"); System.out.println("map = " + map); } } ```
上一篇:
7.4 Map 的实现类:Hashtable
下一篇:
7.6 Map 的实现类:Properties
该分类下的相关小册推荐:
Java语言基础11-Java中的泛型
Mybatis合辑4-Mybatis缓存机制
Mybatis合辑1-Mybatis基础入门
Java语言基础15-单元测试和日志技术
Java语言基础7-Java中的异常
Java并发编程
Java语言基础3-流程控制
手把手带你学习SpringBoot-零基础到实战
Java必知必会-Maven高级
Java语言基础13-类的加载和反射
Mybatis合辑2-Mybatis映射文件
Java并发编程实战