JAVA集合

集合

集合

同一类事物放在一起组成了集合,和数组区别在于引用数据类型。
cllection(接口)父类是iterable(接口:功能是集合的迭代遍历)

集合分类

  • list接口:有序可以重复:常见的实现类:ArrayList(数组实现) LinkedList
  • set接口:无序不重复:常见实现类

ArrayList

书写格式

ArrayList<String> staff = new ArrayList<>();
增删改查
staff.add();
staff.remove();
staff.set();
staff.get();

ArrayList和LinkedList的区别

  • 底层数据不一样 数组 链表
  • ArrayList查询快,增删慢
  • LinkedList查询慢,增删快

HashSet

HashSet: 无序(没有索引) 不重复(可以去重)
HashSet格式

HashSet<String> staff = new HashSet<>();

for和foreach的区别
1、for循环可以操作索引,但是语法结构复杂
2、foreach不可以操作索引,但是语法结构简单

HashSet和HashTable的区别:

  • HashSet是线程不安全的,效率高,允许null值
  • HashTable是线程安全的,效率低,不允许null值

HashMap双列集合

HashMap格式
HashMap<String, Integer> text = new HashMap<>();
			键		值
  • 键是唯一的,值可以重复。

jdk8 HashMap底层是: 数组+链表+红黑树

  • HashMap负载因子: 0.75 元素个数超过数组长度的0.75倍,数组就会扩容。2倍
  • 链表的长度超过8,链表就会转换成红黑树。如果红黑树的长度小于6,红黑树就会转换成链表。
  • HashMap的初始容量: 16
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值