我对java集合的理解

我对java集合的理解

 

  • Set接口,特点不重复元素,无索引。

     Set接口的实现类,HashSet(哈希表)哈希表(链表数组结合体)

     特点:无序集合,存储和取出的顺序不同,没有索引,不存储重复元素。

     代码上的编写上和ArrayList完全一致。

      HashSet集合的自身特点:底层数据结构,哈希表。存储,取出都比较快。线程不安全,运行速度快

      LinkedHashSet基于链表的哈希表实现,继承自HashSet    LinkedHashSet自身特性,具有顺序  ,存储和取出的顺序相同的   线程不安全的集合,运行速度快。

 

  • Map中常用的集合为HashMap集合、LinkedHashMap集合。

Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。

Map接口实现类Hashtable  底层数据结果哈希表,特点和HashMap是一样的

Hashtable线程安全集合,运行速度慢

HashMap线程不安全的集合,运行速度快

HashMap 允许存储null值,null键         Hashtable 不允许存储null值,null键

LinkedHashMap继承HashMap保证迭代的顺序