容器介绍及总结

在这里插入图片描述

集合主要有2大接口,分别是Collection和Map接口。Map是键值对,而Collection是一个个对象序列。

Collection分类及介绍

  • List: 有序(存入的顺序和取出的元素顺序一致,有索引,允许重复元素)
  • Set:不允许有重复元素
  • Queue:先进先出,队列

List

  • Vector :数据结构是数组,数组长度是可变的
    原理:(不断new新数组并将原数组元素复制到新数组——最早出现的集合对象)
    特点和现状:线程同步—加锁变慢,故被淘汰_查和增删都慢
  • ArrayList:也是数组结构,也是长度可变的。
    特点:线程不同步的,替代了Vector——增删慢,查询快
  • LinkedList:链表结构
    特点:线程不同步——增删快,查找慢

Set

  • HashSet:哈希表结构,不同步
    特点:比数组的查询效率好,不保证取出和存入元素的顺序。
    hashCode是为了根据元素自身的特点确定哈希值
    equals是为了解决哈希冲突
  • LinkedHashSet:在HashSet的基础上增加了一天双向链表,实现了元素的顺序取出和存放
  • TreeSet:二叉树,对元素进行排序
    特点:为了实现排序的功能
    1实现Comparato接口,覆盖compare方法
    2将comparator接口的对象作为参数传递给TreeSet的集合参数。

Queue

  • LinkedList:其提供方法已支持队列的行为,它实现了Queue接口,可作为Queue的一种实现
  • PriorityQueue:优先级队列下一个弹出的是最需要的元素(具有最高优先级),存入其中的元素按照自然顺序排序,或者根据构造队列时提供的 Comparator 进行排序

Map分类及介绍

  • HashMap:基于哈希表的Map接口的实现,允许使用null值和null键,此实现是不同步的
  • HashTable:和HashMap类似,主要区别就是,它不允许为null的键值,线程同步.
  • TreeMap:基于红黑树的实现.
  • ConcurrentHashMap:一种线程安全的Map,它不涉及同步加锁
  • WeakHashMap:一种改进的HashMap,对键实行”弱引用”,如果一个key不再被外部所引用,那么该key可以被GC回收
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值