Collectin集合

Collectin集合

一、为什么需要Collection

​ Java是一门面向对象的语言,就免不了处理对象,为了方便操作多个对象,就需要把这多个对象存储起来,想要存储多个对象,很容易想到一个容器,常用的容器有StringBuffered、数组,虽然有对象数组,但是数组的长度是不可变的,所以Java就为我们提供了集合Collection。

二、数组和集合的区别

1、长度的区别:

  • 数组的长度固定
  • 集合的长度可变

2、元素的数据类型

  • 数组可以存储基本数据类型,也可以存储引用数据类型
  • 集合只能存储引用数据类型,如果要存储基本数据类型,可以存储对应的包装类。

三、Collection的功能

1、添加功能

  • boolean add(Object obj):添加一个元素
  • boolean addAll(Collection c):添加一个集合的元素

2、删除功能

  • void clear():移除所有的元素
  • boolean remove(Object o):移除一个元素
  • boolean removeAll(Collection c):移除一个集合的元素,只有一个元素被移除了,就返回true

3、判断功能

  • boolean contains(Object o):判断集合是否包含该元素
  • boolean containsAll(Collection c):判断集合中是否包含指定的集合元素,只有包含所有的元素,才叫包含
  • boolean isEmpty():判断集合是否为空

4、获取功能

  • Interator iterator():迭代器

5、交集功能

  • boolean retainAll(Collection c):移除此colleaction中为包含在指定collection中的所有元素。集合A和集合B做交集,最终的结果保存在集合A,返回值表示的是A是否发生过变化。

四、常用的集合

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CxcCioYy-1612674971078)(C:\Users\jiang\Pictures\Saved Pictures\image-20210205103652683.png)]在这里插入图片描述

五、List集合介绍

1、List集合的特点

​ 有序,存储顺序和取出顺序一致,可以重复,有角标概念。

2、List集合常用子类

  • ArrayList:底层数据结构是数组,线程不安全。
  • LinkeList:底层数据结构是链表,线程不安全。

六、Set集合介绍

1、Set集合的特点

​ 元素不可重复,没有角标。

2、Set集合常用子类

  • HashSet:底层数据结构是哈希表(是一个元素为链表的数组),其实就是一个HashMap,将add中的参数,作为Hashmap的key值,存在Hashmap中,HashMap的value值为一个空的Object型的值。HashSet中的元素是无序的。
  • LinkedHashSet:底层有哈希表和链表组成。LinkedHashSet中的元素是有序的,存储顺序和取出顺序一致。
    是无序的。
  • LinkedHashSet:底层有哈希表和链表组成。LinkedHashSet中的元素是有序的,存储顺序和取出顺序一致。
  • TreeSet:底层数据结构是红黑树(一个自平衡的二叉树)。元素按照升序排序。不能放入不可比较的泛型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值