Treemap的使用
一、TreeMap的遍历
1.通过treemap的keySet()方法得到键的set集合,通过键访问值
private static void sort1() {
TreeMap<String, String> treeMap = new TreeMap<String, String>();
treeMap.put("1", "str1");
treeMap.put("2", "str2");
Set<String> keySet = treeMap.keySet();
for (String string : keySet) {
System.out.println(treeMap.get(string));
}
}
2.通过treeMap.values()得到值的集合,然后对值,直接遍历输出
private static void sort2() {
TreeMap<String, String> treeMap = new TreeMap<String, String>();
treeMap.put("1", "str1");
treeMap.put("2", "str2");
Collection<String> values = treeMap.values();
for (String value : values) {
System.out.println(value);
}
}
3.通过treeMap.entrySet()得到包含的映射关系的 Set
视图
private static void sort3() {
TreeMap<String, String> treeMap = new TreeMap<String, String>();
treeMap.put("1", "str1");
treeMap.put("2", "str2");
Set<Entry<String, String>> keySet = treeMap.entrySet();
for (Entry<String, String> entry : keySet) {
System.out.println(treeMap.get(entry.getKey()));
}
}
以上得到的结果均如下:
str1
str2
二、TreeMap排序
TreeMap中,如果键是基本数据类型或者String类,treemap会按照默认的方
式排序,其中基本数据类型会按照ASCII码表排序,String类会按照字典序排序。
但是,如果其中的键是自定义类型,TreeMap则需要自定义排序,主要分两种
排序方法
1)自然排序: class—>实现Comparable,实现compareTo()方法
2)定制排序:TreeSet<>(new Comparator<Person>() {},重写其中的public int compare()方法
具体的方法使用方法见之前的blog