Loading

Java集合框架

image

集合有两大接口Collection Map

  • List:有序,可重复
  • Set:无序,不可重复
  • Queue:按特定的排队规则来确定先后顺序,存储的元素是有序的,可重复的
  • Map:键值对

List:

  • ArrayList : Object[] 数组
  • Vector: Object[] 数组
  • LinkedList: 双向链表

Set:

  • HashSet(无序,唯一):基于HashMap实现的,底层使用HashMap来保存元素
  • LinkedHashSet:LinkedHashSet是HashSet的子类,并且其内部是通过ListedHashMap来实现
  • TreeSet(有序,唯一):红黑树

Queue:

  • PriorityQueue:Object[] 数组来实现二叉堆
  • ArrayQueue:Object[] 数组 + 双指针

Map:

  • HashMap:
  • LinkedHashMap:
  • Hashtable:
  • TreeMap:

Collection -> List

  • ArrayListList 的主要实现类,底层使用 Object[ ]存储,适用于频繁的查找工作,线程不安全
  • VectorList 的古老实现类,底层使用Object[ ] 存储,线程安全的

ArrayList与LinkedLList区别

  1. 线程安全:ArrayListLinkedList 都是不同步的,也就是不保证线程安全;
  2. 底层数据结构:Arraylist 底层使用的是 Object 数组LinkedList 底层使用的是 双向链表 数据结构
posted @ 2021-12-27 21:09  Zhbeii  阅读(27)  评论(0编辑  收藏  举报