`
sakakokiya
  • 浏览: 518718 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别

阅读更多
Collection接口,包含list和set子接口
Collection和Map接口之间的主要区别在于:Collection中存储了一组对象,而Map存储关键字/值对。
在Map对象中,每一个关键字最多有一个关联的值。
Map:不能包括两个相同的键,一个键最多能绑定一个值。null可以作为键,这样的键只有一个;可以有一个或多个键所对应的
值为null。当get()方法返回null值时,即可以表示Map中没有该键,也可以表示该键所对应的值为null。因此,在Map中不能由get()方法来判断Map中是否存在某个键,而应该用containsKey()方法来判断。
继承Map的类有:HashMap,HashTable
HashMap:Map的实现类,缺省情况下是非同步的,可以通过Map Collections.synchronizedMap(Map m)来达到线程同步
HashTable:Dictionary的子类,确省是线程同步的。不允许关键字或值为null
当元素的顺序很重要时选用TreeMap,当元素不必以特定的顺序进行存储时,使用HashMap。Hashtable的使用不被推荐,因为HashMap提供了所有类似的功能,并且速度更快。当你需要在多线程环境下使用时,HashMap也可以转换为同步的。
分享到:
评论

相关推荐

    Collection,List,Set和_Map用法和区别

    Collection, List, Set 和 Map 用法和区别 Collection 是 Java 中的一种对象集合,提供了许多有用的方法来操作集合元素,例如添加、删除、遍历等。Collection 是一个接口,下面有两个子接口:List 和 Set。 List ...

    map,list,set,stack,queue,vector等区别和特点1

    在Java编程语言中,集合框架是处理对象组织和操作的...在多线程环境中,线程安全的实现如Vector和Hashtable是必要的,但在单线程或性能要求较高的情况下,非线程安全的实现如ArrayList、LinkedList和HashMap通常更优。

    对java基础集合部分(List、HashMap、HashSet、ArrayList等)底层源码的分析与总结

    HashMap不是线程安全的,如果需要线程安全的Map,可以使用Hashtable。 LinkedHashMap与HashMap类似,但保持了插入顺序或访问顺序。TreeMap使用红黑树,保证了键的排序。 总的来说,理解这些集合的底层实现对于优化...

    Java集合类List-Set-Map的区别和联系.doc

    Map 有三个实现类:HashMap、HashTable 和 TreeMap。HashMap 是一个基于哈希表的集合类,HashTable 是一个线程安全的基于哈希表的集合类,TreeMap 是一个基于树形结构的集合类。 三、Collections Collections 是 ...

    collection,map的区分

    `HashMap`和`HashTable`都是`Map`接口的实现,但在使用场景和内部实现上存在一些关键的区别: - **线程安全性**:`HashTable`是线程安全的,而`HashMap`不是。这意味着在多线程环境中,直接使用`HashMap`而不采取...

    Java 72 道面试题及答案.docx

    Map 接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap 以及 Properties 等。Set 接口的实现类主要有:HashSet、TreeSet、LinkedHashSet 等。List 接口的实现类主要有:ArrayList、LinkedList、...

    对Map按key和value分别排序

    Map 是键值对的集合接口,它的实现类主要包括 HashMap、TreeMap、Hashtable 及 LinkedHashMap 等。其中,TreeMap 是基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据...

    02-Java集合容器面试题-重点.docx

    Java集合容器概述、集合框架、List、Set、Map接口、Iterator、ArrayList、LinkedList、Vector、HashSet、HashMap、Queue、BlockingQueue、ConcurrentHashMap等。 Java 集合容器概述 Java 集合容器是用于存储数据...

    Java容器有两种基本类型Collection 和 Map

    Map 的主要实现类有 HashMap、LinkedHashMap 和 TreeMap。HashMap 是基于散列表的实现,插入和查询“键值对”的开销是固定的。LinkedHashMap 类似于 HashMap,但是迭代器遍历它时,取得“键值对”的顺序是其插入次序...

    Java集合面试题汇总.pdf

    Map接口则不同于Collection,它是键值对存储的接口,常见的实现类有HashMap、TreeMap、Hashtable、ConcurrentHashMap和Properties。 集合框架的主要优点在于其提供的数据结构和算法。例如,ArrayList和LinkedList...

    java 面经 java 面经 java 面经

    Jdk有些面试官会直接问讲一下java的集合类一般都会问到ArrayList,LinkedList的区别,主要答存储结构,增删改查效率Set会问到hashSet treeSet,以及Set和map的区别,list和set的区别Map会问到HashMap,TreeMap,...

    Java 72道面试题和答案.docx

    常见的Map实现有HashMap、TreeMap、Hashtable、ConcurrentHashMap和Properties。HashMap和TreeMap分别基于哈希表和红黑树,而Hashtable是线程安全的HashMap。 使用集合框架的优点包括: - 容量自增长:集合可以自动...

    java 集合详细讲解

    Map接口不同于Collection,它存储的是键值对,例如HashMap、Hashtable和TreeMap。HashMap提供快速的查找,基于哈希表实现;Hashtable与HashMap类似,但它是线程安全的;TreeMap则根据键的自然排序或自定义比较器对键...

    java编程基础笔记(集合)

    5. Map接口的HashMap、TreeMap和Hashtable的特性及选择策略 6. 如何在实际编程中有效地利用集合框架解决问题 7. 集合的遍历方式,包括迭代器和增强for循环 8. 集合的拷贝、比较和转换方法 9. 集合与数组之间的转换 ...

    集合框架的各自区别.pdf

    HashMap、HashTable和TreeMap是Map接口的实现。HashMap提供了快速的查找性能,通过对象的hashCode进行哈希计算;HashTable是线程安全的,但性能较低;TreeMap保证了键的排序,可以按自然顺序或自定义比较器进行排序...

    Java 最常见的 208 道面试题:第二模块答案

    3. **Map**:键值对的集合,如 HashMap、HashTable、LinkedHashMap、TreeMap 和 ConcurrentHashMap。 **HashMap 和 Hashtable 的区别**: - **线程安全性**:Hashtable 是线程安全的,而 HashMap 不是。在多线程...

    Java中的Collection

    常见的Map实现类有HashMap、TreeMap和Hashtable。HashMap是基于哈希表的,提供快速的查找和插入,但不保证元素顺序;TreeMap则是红黑树结构,保证元素有序;而Hashtable与古老的Vector一样,是线程安全的,但现在也...

    Java面试题及答案-共72道.docx

    Java 集合框架详解 Java 集合框架是 Java 语言中用于存储和操作数据的重要组件。它提供了一些预定义的...Map 接口的实现类主要有 HashMap、TreeMap、Hashtable 等,分别基于数组+链表、红黑树和数组+链表结构实现的。

Global site tag (gtag.js) - Google Analytics