我不信这次你还记不住如何简述“集合框架“

父接口collection

子接口list

单列集合

有序,允许重复,允许存null

实现类arraylist

单列集合

有序,允许重复,允许存null

底层数组,不安全

实现类linkedlist

单列集合

有序,允许重复,允许存null

底层链表(双向链表),不安全

实现类vector

底层数组,与arraylist的功能基本一样

list常用实现类的区别

arraylist底层是数组,可以通过下标直接定位到对应的元素所以查询更新的效率高,删除插入效率低,不保证线程安全

linkedlist底层是链表,在内存中不是连续的空间,虽然有下标,但是还是需要遍历整个链表去找对应的元素,所以查询更新效率低,插入删除效率高

vector:线程安全,效率低

array和arraylist的区别

array(数组)长度不可变,当数据超过容量大小时,会出现下标越界异常

arraylist(集合)会自动扩容,一般是1.5倍

子接口set

单列集合

没有定义有序无序,具体看实现类,不允许重复

实现类hashset

无序,不允许重复,允许存null

底层是hashmap,哈希表结构,不安全

实现类treeset

自然顺序,不允许重复,不允许null

底层是treemap,不安全

hashset的子类linkedhashset

是hashset的一个子类和hashset的方法一样,但是保证迭代顺序

map

双列集合,双列集合的根接口,键值对应,不能有重复键,但能有重复值

子接口hashmap

无序,不重复键,重复值,允许null值null键

底层基于哈希表实现,不安全

子接口treemap

有序,不重复键,重复值,不允许null键,可以null值

底层红黑树,不安全

hashtable

双列集合,不允许null键,null值,安全效率低

concurrenthashmap

线程安全效率高;比hashmap安全,比hashtable效率高

hashtable和hashmap的区别

1.hashtable同步,hashmap不同步
2.hashmap允许null值null键,hashtable不允许

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值