一、元素顺序
元素顺序与排序规则有关
二、底层算法
Tree算法
三、遍历
package com.edu.map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
public class TreeMapDemo {
public static void main(String[] args) {
TreeMap<Integer, String> tMap = new TreeMap<Integer,String>();
tMap.put(1, "java");
tMap.put(4, "c++");
tMap.put(2, "python");
tMap.put(6, "php");
//根据键的集合遍历TreeMap
//获取键的集合
Set<Integer> set = tMap.keySet();
//利用foreach进行遍历
for (Integer key : set) {
System.out.println(key+" "+tMap.get(key));
}
System.out.println("-----------------");
//利用entrySet()进行遍历
Set<Entry<Integer,String>> set2 = tMap.entrySet();
for (Entry<Integer, String> entry : set2) {
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}
/* 1 java
2 python
4 c++
6 php
-----------------
1 java
2 python
4 c++
6 php
*/
四、HashMap和TreeMap的相同点和不同点
相同点:主要用于存储键值对,根据键得到值,键不能重复,值可以重复
不同点:
1、HashMap里面存入的键值对在取出的时候是随机的,也是我们最常用的一个Map.根据键可以直接获取它的值,
具有很快的访问速度。在Map 中插入、删除和定位元素,HashMap 是最好的选择。
2、TreeMap取出来的是排序后的键值对。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好