Java:100个小知识点(2)——retainAll()

简述

boolean flag = listA.retainAll(listB)
剔除listA在listB中不存在的元素,执行方法后的listA的效果等同于listA和listB的交集;区别点就是flag的结果表示的是listA的值是否发生了变化,如果变了,则返回true,否则返回false;如果listA和listB的元素一样,此时flag返回false。

listC.retainAll(setA),也可实现同等效果。

java示例:

package com.tao.stu.test.collection;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * @Author Taoyongpan
 * @Date 2022/11/10 4:26 PM
 * @Version 1.0
 */
public class RationTest {
    public static void main(String[] args) {
        List<Integer> listA = new ArrayList<>();
        listA.add(1);
        listA.add(2);
        listA.add(3);
        listA.add(4);

        List<Integer> listB = new ArrayList<>();
        listB.add(2);
        listB.add(3);
        listB.add(4);
        listB.add(5);

        System.out.println(listA.retainAll(listB));
        System.out.println(listA);
        System.out.println("------------------------------------");
        List<Integer> listC = new ArrayList<>();
        listC.add(1);
        listC.add(2);
        listC.add(3);
        listC.add(4);
        Set<Integer> setA = new HashSet<>();
        setA.add(2);
        setA.add(3);
        setA.add(4);
        setA.add(5);

        System.out.println(listC.retainAll(setA));
        System.out.println(listC);
    }
}

返回结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值