Java之集合

一、相关概念

1.集合框架

 

 接口:定义规范

   |

抽象类:实现一部分通用方法

   |

普通类:重写接口/抽象类的所有抽象方法。

Collection 接口的接口 对象的集合(单列集合)
├——-List 接口:元素按进入先后有序保存,可重复
│—————-├ LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
│—————-├ ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
│—————-└ Vector 接口实现类 数组, 同步, 线程安全
│ ———————-└ Stack 是Vector类的实现类
└——-Set 接口: 仅接收一次,不可重复,并做内部排序
├—————-└HashSet 使用hash表(数组)存储元素
│————————└ LinkedHashSet 链表维护元素的插入次序
└ —————-TreeSet 底层实现为二叉树,元素排好序

Map 接口 键值对的集合 (双列集合)
├———Hashtable 接口实现类, 同步, 线程安全
├———HashMap 接口实现类 ,没有同步, 线程不安全-
│—————–├ LinkedHashMap 双向链表和哈希表实现
│—————–└ WeakHashMap
├ ——–TreeMap 红黑树对所有的key进行排序
└———IdentifyHashMap

2.集合接口

   List:元素有序,可重复。类似动态数组。

    1)ArrayList

    2)LinkedList

    3)Vertor

   Set:元素无,不可重复。类似数学中的集合。

    1)HashSet

    2)TreeSet

    Map:具有映射关系key-value键值对的集合。类似数学中的函数。

     1)HashMap:数组+链表+红黑树与ConcurrentHashMap:线程安全,分段锁

  HashMap实现原理

  HashMap如何解决hash冲突:链地址法

  

  2)TreeMap

     3)HashTable

3.集合遍历 Iterator

 

原文地址:https://www.cnblogs.com/wenxiangchen/p/11440667.html