集合的内容

文章介绍了Java集合框架中的ArrayList、泛型、HashSet以及HashMap等概念。ArrayList是有序可重复的列表,泛型提供了类型安全,避免了强制转换。LinkedList适合频繁插入和删除,而ArrayList查询速度快。HashSet是无序且不重复的集合,不支持索引。HashMap是键值对存储,JDK8后其底层实现包括数组、链表和红黑树,负载因子为0.75。
摘要由CSDN通过智能技术生成

集合

集合:同一种事物放在一起就是集合 (引用数据类型 这是与数组的根本区别)
集合 Collection(接口) 父类是Interbdle接口(功能是实现集合的遍历)

集合的分类

  1. List(接口) 有序可以重复 :常见的实现类: ArrayList(数据实现) LinkedList(链条实现)
  2. Set(接口):无序不重复 常见的实现类: HashSet(哈希表实现) TreeSet(二叉数实现)
    ArragyList:
    实现了List接口(List 继承Collention接口)
    集合里面的方法 主要是增删该查

ArrayList

ArrayList <> 放的就是泛型 就是集合里面放的数据类型

泛型的好处

  1. 省去了从集合中取出数据时的强制转换
  2. 加了泛型 就会要求我们放入数据的时候,只能放入该数据类型 取的时候也是这种数据类型
  3. <> 放入指定的数据类型

ArrayList

  1. ArrayList 元素个数 szie()方法
  2. 增 add(元素) 数组的长度和size 不是一回事 如果size()小与数组长度, 直接将元素放入到数组里面 如果size() 等于数组长度,会自动扩容
  3. remove(元素)删除第一次出现的元素 remove(元素)删除指定索引的元素
  4. 改 set(索引, 元素)
  5. 查 get(索引)

ArrayList和LinkedList的区别

  1. 底层结构不同 数组 链表
  2. ArrayList 查询快 增删慢
  3. LinkedLis 查询慢 增删快

HashSet

无序 ,没有索引
不重复 (可以去重)

for 和 foreach的区别:

  • 1、for 可以操作索引,但是语法结构相对复杂
  • 2、foreach不可以操作索引,但是语法结构相对简单

HashSet和HashTable的区别:

1 HashSet是线程不安全的,效率高,允许nuLL 值
2 HashTable 是线程安全的,效率低,不允许nuLL 值

HashMap

双集合
new HashMap <K,V>K 建 v值
建是位于的 值可以重复

jdk8 HashMap底层是: 数组+链表+红黑树
  1. HashMap负载因子 0.75 元素个数超过数组长度的0.75 被 数组长度就要扩容2被
  2. 链表长度超8 就会转成红黑树 如果红黑树长度小于6 红黑树就会转成链表
  3. HashMap初始容量 16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值