HashMap和TreeMap两者都是Map,java中的Map以键值对来存储数据,通过键--key来索引值--value。
HashMap通过hashcode对其内容进行快速查找,其结果时无序的;TreeMap中的所有元素都默认进行了排序,所以当需要一个有序的结果时,使用TreeMap是比较方便的。
具体的定义和遍历方法,可以看下面的例子:
package com.yeetrack.java.test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
/**
* Created with IntelliJ IDEA.
* User: youthflies
* Date: 13-2-22
* Time: 下午4:51
* To change this template use File | Settings | File Templates.
*/
public class TestMap
{
public static void main(String[] args)
{
HashMap hashmap = new HashMap<String, String>();
hashmap.put("username", "youthflies");
hashmap.put("age", "14");
hashmap.put("password", "youthflies");
//entrySet返回hashmap中包含的映射关系的 Set 视图。也是一个Set,而Set中每个元素是内部类Map.Entry。
Iterator iterator = hashmap.entrySet().iterator();
while(iterator.hasNext())
{
//获取Set视图中的每一项
Map.Entry entry = (Map.Entry)iterator.next();
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
//keyset是获取hashmap中的key的视图,只包含key,没有value
Iterator iter = hashmap.keySet().iterator();
while (iter.hasNext())
{
Object object = iter.next();
//hashmap.get()再通过key来获取value
System.out.println(object+"--->"+hashmap.get(object));
}
//treemap会对key自动进行自然排序
TreeMap treeMap = new TreeMap();
treeMap.put("username", "youthflies");
treeMap.put("age", 14);
treeMap.put("password", "youthflies");
Iterator iterator2 = treeMap.entrySet().iterator();
while(iterator2.hasNext())
{
Map.Entry entry = (Map.Entry)iterator2.next();
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
}
}
上面的输出结果为:
username--->youthflies
age--->14
password--->youthflies
username--->youthflies
age--->14
password--->youthflies
//下面是treemap输出
age--->14
password--->youthflies
username--->youthflies
易踪网(yeetrack.com)