HashMap,LinkedHashMap,TreeMap都属于Map
Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。
HashMap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力。
LinkedHashMap LinkedHashMap也是一个HashMap,但是内部维持了一个双向链表,可以保持顺序
TreeMap 不仅可以保持顺序,而且可以用于排序
HashMap例子:
public static void main(String[] args) { //遍历:后放先出 Map<String, String> map = new HashMap<String, String>(); map.put("a3", "aa"); map.put("a2", "bb"); map.put("b1", "cc"); for (Iterator iterator = map.values().iterator(); iterator.hasNext();) { String name = (String) iterator.next(); System.out.println(name); } }
LinkedHashMap例子:
public static void main(String[] args) { //遍历:怎么样放怎么样出 Map<String, String> map = new LinkedHashMap<String, String>(); map.put("a3", "aa"); map.put("a2", "bb"); map.put("b1", "cc"); for (Iterator iterator = map.values().iterator(); iterator.hasNext();) { String name = (String) iterator.next(); System.out.println(name); } }
TreeMap例子:
public static void main(String[] args) { //遍历:不管怎么样放,出的时候都是按key的排序(升序)出。 Map<String, String> map = new TreeMap<String, String>(new Comparator<Object>(){ Collator collator = Collator.getInstance(); public int compare(Object o1, Object o2) { CollationKey key1 = collator.getCollationKey(o1.toString()); CollationKey key2 = collator.getCollationKey(o2.toString()); return key1.compareTo(key2); //return collator.compare(o1, o2); }}); map.put("a3", "aa"); map.put("a2", "bb"); map.put("b1", "cc"); for (Iterator iterator = map.values().iterator(); iterator.hasNext();) { String name = (String) iterator.next(); System.out.println(name); } }
转自:http://wallimn.iteye.com/category/70786
另外,HashTable 具有线程同步,且不可放置空Key
相关推荐
java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
主要介绍了 java HashMap,TreeMap与LinkedHashMap的详解的相关资料,这里提供实例代码,帮助大家学习理解 这部分的内容,需要的朋友可以参考下
HashMap,HashTable,LinkedHashMap,TreeMap的区别
JDK源码阅读笔记 ...LinkedHashMap TreeMap ConcurrentHashMap ConcurrentLinkedQueue ThreadPool ThreadLocal Reflection ScheduledThreadPool AsynchronousFileChannel BufferedInputStream Enum
主要介绍了HashMap vs TreeMap vs Hashtable vs LinkedHashMap的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
HashMap LinkedHashMap TreeMap WeakHashMap Hashtable Collection 集合体系详解 Set 接口 AbstractSet 抽象类SortedSet 接口HashSet LinkedHashSet TreeSet List 接口 AbstractList 和 AbstractSequentialList ...
对基础的掌握尤其重要,其中List,Set,Map的作用以及使用的场景和分类描述,其中Arraylist 与 LinkedList 区别,HashSet与TreeSet与LinkedHashSet对⽐,LinkedHashMap和HashMap,TreeMap对⽐,HashMap 和 Hashtable...
GoDS(Go数据结构) Go中各种数据结构和算法的实现。 数据结构 货柜 所有数据结构都通过以下方法实现容器接口: type Container interface { Empty () bool Size () int Clear () Values () [] interface {} ...
java中map简单实例,包含插入,读出,遍历代码。内含map使用实例及HashMap,LinkedHashMap,TreeMap的区别
LinkedHashMap ConcurrentHashMap TreeMap Hashtable Set源码系列 HashSet LinkedHashSet TreeSet HashSet Concurrent源码系列 待完善 JVM(Java虚拟机) 类加载 垃圾回收算法 JavaConcurrent(Java并发系列) 【Java...
Java的数据结构相关的类实现原理,比如LinkedList,ArrayList,HashMap, TreeMap这一类的。以下简单模拟一个数据结构的连环炮。 比如,面试官先问你HashMap是不是有序的? 你肯定回答说,不是有序的。那面试官就会...
Java容器讲解PPT,Collection Map(HashMap TreeMap LinkedHashMap) List (ArrayList LinkedList Vector) Set (HashSet TreeSet LinkedHashSet)
在Java中,容器(Container)指的是...Map用于存储键值对(Key-Value Pair)的数据,它的实现类有HashMap、TreeMap、LinkedHashMap等。Map中的键是唯一的,每个键对应一个值。通过键可以快速查找对应的值,这使得Map
Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射...
TreeMap LinkedHashMap 我们主要来说说最常用的HashMap: 添加元素:put(key,value) HashMap map = new HashMap<>(); map.put("name", "大妖怪"); map.put("age", "100"); 复制代码 查询元素:get(key) HashMap...
Map接口的实现类可以根据其内部数据结构的不同,分为几种类型,例如HashMap、TreeMap和LinkedHashMap等。不同的实现类具有不同的特点和性能特征,应该根据实际需求来选择合适的实现类。 Map接口中常用的方法 1. put...
// 常用的map接口的实现类有HashMap,LinkedHashMap和TreeMap // HashMap不保证集合中元素的顺序, // LinkedHashMap按插入顺序排序 // TreeMap按自己的意愿进行排序,默认按key值升序排序。 另包含一篇网文:在java...
该文档主要详细总结了Java集合的相关知识,包括Collection和Map接口、Collection接口的子接口List和Set接口以及具体的实现类、存储原理等;Map接口的子接口HashMap、LinkedHashMap、TreeMap、Properties等
Collections 源码 java Java Java的ArrayList、LinkedList、HashMap、TreeMap、LinkedHashMap、HashSet、TreeSet相关源码分析,及相关问题和应用总结。
LinkedHashMap ConcerrentHashMap Set TreeMap HashMap synchronized volatile transient implements extends public private protected this super static final const null run start thread enmu quicksort ...