java 集合中的并集、交集、差集

项目对比数据,需要根据redis中和数据库中的数据进行操作redis缓存,简单记录一下处理逻辑。

  public static void main(String[] args) {
        List<String> redisList = new ArrayList<>();
        List<String> dbData = new ArrayList<>(); //dbData 代表数据库数据
        redisList.add("啊");
        redisList.add("欢");
        redisList.add("迎");
        redisList.add("您");

        dbData.add("北");
        dbData.add("京");
        dbData.add("人");
        dbData.add("民");
        dbData.add("啊");
        dbData.add("欢");

        //并集
//        getBingJi(redisList, dbData);
        //交集
//        getJiaoJi(redisList, dbData);

        //差集
        //dbData中没有
//        getDBData(redisList, dbData);
        //redisList中没有
        getRedisData(redisList,dbData);
    }

    private static void getRedisData(List<String> redisList, List<String> dbData) {
        dbData.removeAll(redisList);
        System.out.println("redis没有的数据:" + dbData); // redisList中没有 [北, 京, 人, 民] redis添加
    }

    private static void getDBData(List<String> redisList, List<String> dbData) {
        redisList.removeAll(dbData);
        System.out.println("dbData没有的数据:" + redisList); // dbData中没有 [迎, 您] redis删除
    }

    private static void getJiaoJi(List<String> redisList, List<String> dbData) {
        redisList.retainAll(dbData);
        System.out.println("交集:" + redisList);//[啊, 欢] redis更新
    }

    private static void getBingJi(List<String> redisList, List<String> dbData) {
        redisList.addAll(dbData);
        System.out.println("并集:" + redisList); // 并集:[啊, 欢, 迎, 您, 北, 京, 人, 民, 啊, 欢]
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值