黑马程序员技术交流社区
标题:
Java中HashMap和TreeMap的区别
[打印本页]
作者:
alax
时间:
2014-5-19 18:17
标题:
Java中HashMap和TreeMap的区别
Java中HashMap和TreeMap的区别
作者:
莫问纷飞
时间:
2014-5-19 21:59
HashMap:数据结构是哈希表,是不同步的,运行键和值为null
存储到哈希表中的对象,必须覆盖hashCode和euqals方法。建立在哈希表判断元素唯一性的方式。
TreeMap:数据结构是二叉树,是不同步的,可以对集合中的键进行排序。
排序有两种方式:
第一种:让元素自身具备比较性。让元素对象实现Comparable接口,覆盖compareTo方法。
但是,需求中,需要元素的非自然排序时,或者元素本身就不具备自然排序时
第二种:让容器具备比较性。其实就是定义一个比较器,就是实现Comparator接口,
覆盖compare方法。
作者:
张斌
时间:
2014-5-19 22:09
学习一下
作者:
心?=忐§忑]
时间:
2014-5-19 22:49
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
public class Demo2 {
public static void main(String args[]){
Map<String,String> map1 = new TreeMap<String,String>() ; //用TreeSet实例化Set
map1.put("3", "AAA") ;
map1.put("4", "EEE") ;
map1.put("1", "CCC") ;
map1.put("2", "BBB") ;
map1.put("2", "BBB") ;
Map<String,String> map2 = new HashMap<String,String>() ; //用HashSet实例化Set
map2.put("3", "bbb") ;
map2.put("2", "bbb") ;
map2.put("1", "aaa") ;
map2.put("4", "eee") ;
map2.put("2", "ccc") ;
System.out.println("TreeMap-->" + map1);
System.out.println("HashMap-->" + map2);
}
}
复制代码
运行结果:
TreeMap-->{1=CCC, 2=BBB, 3=AAA, 4=EEE}
HashMap-->{3=bbb, 2=ccc, 1=aaa, 4=eee}
从运行结果可以看出,TreeMap和HashMap
相同点:key值都不允许重复的
不同点:HashMap无序存放的,是新的操作类;TreeMap可以排序存放的,按key排序,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2