Java集合框架的数据添加与删除

本文详细介绍了Java集合框架中向集合添加单个或批量数据(add与addAll)、删除单个数据(remove)、批量删除(removeAll、retainAll、removeIf)以及清空集合(clear)的方法,包括源码解析和操作原理。
摘要由CSDN通过智能技术生成

目录

1.向集合中添加单个数据:

boolean add(E e)

2.向集合中添加批量数据:

boolean addAll(Collection c)

3.集合是如何删除数据的?

集合数据删除的方法有5种:

4.删除单个数据

remove(Object)方法

remove(Object)方法的源码:

5.批量删除数据

(1)removeAll(Collection)

 removeAll删除原理:

(2)retainAll(Collection c)

retainAll保留原理 

(3)removeIf(Predicate)

removeIf删除原理

(4)clear()

clear()原理

总结·:


1.向集合中添加单个数据:

boolean add(E e)

添加成功返回true,添加失败返回false

注意:集合中数据添加的数据类型需要和集合类型一样

 //其中Fruit就是集合类型,而添加的数据类型就只能是Fruit类型的对象或者它的子类对象,其他类型都无法存储

List<Fruit>  fruits=  new   ArrayList<>(); 

例子:

结果:

2.向集合中添加批量数据:

boolean addAll(Collection<? extends E> c)

添加成功返回true,添加失败返回false

注意:添加的数据是另外一个集合

例子:

结果:

3.集合是如何删除数据的?

集合数据删除的方法有5种:

(1).删除单个数据

remove(Object)

(2).删除批量数据

removeAll(Collection<?>)

(3).保留批量数据

retainAll(Collection<?> c)

(4).删除符合条件的数据

removeIf(Predicate<? super E>)

(5).删除所有数据

clear()

4.删除单个数据

remove(Object)方法

//只需要传入1个参数,就是所要删除的数据,删除成功返回true,删除失败返回false

boolean remove(Object o)

例子:

结果:

集合中有3,删除成功返回true,集合中没有6,删除失败返回fasle

remove(Object)方法的源码:

通过查看源码可知:

1.数据通过迭代器Iterator<E> it= iterator();来删除

2.它根据要删除的数据是否为null

(1)删除数据为null时,遍历集合,当数据为null,匹配将数据删除,注意:每次remove方法调用一次只能删除一个数据

(2)删除的不为null,遍历集合,匹配到对应数据,则将数据删除

5.批量删除数据

(1)removeAll(Collection<?>)

作用:删除在指定集合中也有的数据

//它只有一行参数:指定要删除的集合,只要有一个匹配成功,方法就会返回true,否则就会返回false

boolean removeAll(Collection<?> c)

 removeAll删除原理:

遍历被删除的集合,依次检查迭代器返回的每个数据,以查看它是否包含在指定集合中,如果被包含其内,则使用迭代器的remove方法,将其在集合中删除

 

例子:

结果:

(2)retainAll(Collection<?> c)

作用:保留在指定集合中也有的数据

//只有一个参数,指定要保留的数据集合,只有有一个匹配成功,方法就会返回true,否则返回false

boolean retainAll(Collection<?> c)

retainAll保留原理 

和removeAll的原理相反,有就保留,没有就删除

例子:

结果:

(3)removeIf(Predicate<? super E>)

作用:按照指定规则删除数据

// filter指定删除规则,只要有一个删除成功,就会返回true,否则返回false

boolean removeIf(Predicate<? super E>  filter)

removeIf删除原理

遍历集合,依次检查迭代器返回的每个数据,以查看它是否满足规则,如果它满足规则,则使用remove方法将它从这个集合中删除

例子:

结果:

(4)clear()

作用:清空集合

clear()原理

遍历集合,依次调用迭代器的remove方法,删除集合中每一个数据

例子:

结果:

总结:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值