学习笔记-JavaSE之集合list and set

Java集合框架概述

集合的概述

集合是用来存储引用类型数据的容器
在这里插入图片描述
在这里插入图片描述

集合的使用场景

在这里插入图片描述
在这里插入图片描述

Java 集合可分为 Collection 和 Map 两种体系

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Collection接口方法

在这里插入图片描述
在这里插入图片描述

1、添加

  • add(Object obj)
  • addAll(Collection coll)
  • **2、获取有效元素的个数
  • int size(),获取的是元素的个数,而不是底层数据的长度**
    3、清空集合
  • void clear()
    4、是否是空集合
  • boolean isEmpty()
    5、是否包含某个元素
  • boolean contains(Object obj):是通过元素的equals方法来判断是否是同一个对象
  • boolean containsAll(Collection c):也是调用元素的equals方法来比较的。拿两个集合的元素挨个比较。
    6、删除
  • boolean remove(Object obj) :通过元素的equals方法判断是否是要删除的那个元素。只会删除找到的第一个元素
  • boolean removeAll(Collection coll):取当前集合的差集
    7、取两个集合的交集
  • boolean retainAll(Collection c):把交集的结果存在当前集合中,不影响c
    8、集合是否相等
  • boolean equals(Object obj)
    9、转成对象数组
  • Object[] toArray()
    10、获取集合对象的哈希值
  • hashCode()
    11、遍历
  • iterator():返回迭代器对象,用于集合遍历
    在这里插入图片描述

Iterator迭代器接口

Iterator概述

在这里插入图片描述

Iterator接口的方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

集合的遍历操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

迭代的错误方式

在这里插入图片描述

使用 foreach 循环遍历集合元素

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Collection子接口之一:List接口

List接口概述

在这里插入图片描述
在这里插入图片描述

List接口方法

在这里插入图片描述

List实现类之一:ArrayList

ArrayList源码分析

在这里插入图片描述
在这里插入图片描述

ArrayList三种遍历的方式

List实现类之二:LinkedList

在这里插入图片描述
在这里插入图片描述

面试题

在这里插入图片描述

LinkedList源码分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

List 实现类之三:Vector

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Collection子接口之二:Set接口

Set 接口概述

Set接口中没有额外定义新的方法,使用的都是CoLLection中声明过的方法。
在这里插入图片描述
ng)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Set实现类之一:HashSet

在这里插入图片描述
在这里插入图片描述

Set实现类之二:LinkedHashSetSet

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Set实现类之三:TreeSet

自然排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

定制排序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

练习:在List内 去除重复数字值,要求尽量简单

在这里插入图片描述

【面试题】

在这里插入图片描述

因为set删除是根据p1的哈希值找到他,再删除的,由于p1在删除之前里面的数据发生了改变,所以p1的哈希值也改变了,set删除的是之前的p1,而改过里面值的p1没有被删除。所以得到小面的结果。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值