乖乖努力!!!

导航

java-集合

集合的分类:

  1. 单列集合:只能存储一列数据的集合
  2. 双列集合:有两列可以存储数据,是key-value键值对进行存储

集合的框架:
image

单列集合

主要是Collection集合

List集合的特点:

  1. List集合存储元素可以重复
  2. 存储的元素顺序就是写入元素的顺序。
  3. 有索引,可以使用普通for循环进行遍历。

List集合的方法:

  1. public void add(int index,E element) 在此集合中的指定位置插入指定的元素
  2. public E remove(int index) 删除指定索引处的元素,返回被删除的元素
  3. public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
  4. public E get(int index) 返回指定索引处的元素

List集合的子实现类:
主要有包含ArrayList集合,LinkedList集合,vector集合

ArrayList集合:底层是数组结构,所以查询快,增加删减较慢。线程不安全,效率高。
LinkedList集合:底层是链表,所以增加和删除快,删减慢。
vector集合:底层也是数组结构,但是查询慢,增加和删除快,线程安全,效率低。

LinkedList集合特有的方法:

  1. public void addFirst(E e) 在该列表开头插入指定的元素
  2. public void addLast(E e) 将指定的元素追加到此列表的末尾
  3. public E getFirst() 返回此列表中的第一个元素
  4. public E getLast() 返回此列表中的最后一个元素
  5. public E removeFirst() 从此列表中删除并返回第一个元素
  6. public E removeLast() 从此列表中删除并返回最后一个元素

set集合的特点:

  1. 存储的元素是没有顺序的
  2. 存储的元素不可以重复
  3. 没有索引,不可以使用普通for循环遍历

set集合的子实现类:
主要包含有HashSet集合,TreeSet集合

HashSet集合:底层是HashMap集合,存储元素无序,元素不可以重复,没有索引,不能使用普通for循环遍历。
TreeSet集合:底层是TreeMap集合,不能存储重复的元素,没有索引,将元素按照规则进行排序(使用Comparable接口或者Comparator)

双列集合

主要是Map集合

Map集合的特点:

  1. 双列集合,一个键对应一个值
  2. 键不可以重复,但是值可以重复

Map集合的方法:

  1. V put(K key,V value) 添加元素
  2. V remove(Object key) 根据键删除键值对元素
  3. void clear() 移除所有的键值对元素
  4. boolean isEmpty() 判断集合是否为空
  5. int size() 集合的长度,也就是集合中键值对的个数
  6. V get(Object key) 根据键获取值
  7. Set keySet() 获取所有键的集合
  8. Collection values() 获取所有值的集合
  9. Set<Map.Entry<K,V>> entrySet() 获取所有键值对对象的集合

HashMap集合的特点:

  1. 底层是哈希表结构(JDK1.8以前是数组+链表,JDK1.8以后是数组+链表+二叉树)
  2. 依赖重写hashcode和equals方法保证元素的唯一性
  3. 如果键存储的是自定义类型的对象,需要重写hashcode和equals方法。

TreeMap集合的特点:

  1. TreeMap底层是红黑树结构
  2. 依赖自然排序或者比较器排序,对键进行排序
  3. 如果键存储的是自定义对象,需要实现Comparable接口或者在创建TreeMap对象时候给出比较器排序规则

posted on 2022-08-19 15:32  乖乖在努力  阅读(12)  评论(0编辑  收藏  举报