java集合容器

集合

一.集合概念:

对象的容器,实现了对对象常用的操作,类似数组功能。

二.集合和数组的区别:
  • 数组长度固定,集合长度不固定
  • 数组可以存储基本类型和引用类型,集合只能存储引用类型
三.collection体系

collection体系
常用方法

add()//添加
remove()//删除
size()//实际元素大小
contains()//是否包含某元素
1.List容器
(一).特点
  • 有序的
  • 有索引
  • 允许重复
(二).List集合实现类特点
  • ArrayList:数组结构,开辟的必须是连续的空间,查询快,增删慢(重点)
  • LinkedList:链表结构,开辟的可以是不连续的空间,查询慢,增删快(重点)
  • vertor:数与ArrayList差不多,但由于线程同步,运行速率慢(了解)
(三).ArrayList扩容机制
  • 初始化:ArrayList数组首先对传进来的初始化参数initalCapcity(初始容量)进行判断,如果没给参数,当没有向集合中添加任何元素,容量为0,添加元素后,初始化容量为10.
  • 扩容时机:当数组大小大于初始容量的时候,就会进行扩容,扩容为原来的1.5倍
  • 扩容方式:会将原数组拷贝到一个新数组里,修改原数组指向新数组,原数组被抛弃,会被GC回收
2.Set容器
(一).特点
  • 无序的
  • 无索引
  • 不可重复
(二).Set集合实现类特点
  • HashSet:无重复,存储快,底层是哈希表
  • LinkedHashSet:
  • treeSet:
四.Map集合
(一).几种常见map的实现类
  • HashMap:(重点)
    非线程安全,允许空键值,执行效率相对较高(底层使用的数据结构是数组+链表+红黑树(jdk8)或者数组+链表(jdk7))。
  • Hashtable:
    线程安全,不允许空键值,执行效率相对较低(推荐使用ConcurrentHashMap)。
  • TreeMap:
    如果需要使用有序的集合,推荐用TreeMap。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值