`
zysnba
  • 浏览: 185483 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java8 获取两个List交集

 
阅读更多
package com.common;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
* @author zys
* @date 2023/08/2 14:12
*/
@Data
public class Demo {
    private String name;
    private int age;

    public static List<Demo> getDemo1() {
        Demo demo = new Demo();
        demo.setAge(11);
        demo.setName("我");
        Demo demo2 = new Demo();
        demo2.setAge(13);
        demo2.setName("你");
        List<Demo> demoList = new ArrayList<>();
        demoList.add(demo);
        demoList.add(demo2);
        return demoList;
    }

    public static List<Demo> getDemo2() {
        Demo demo = new Demo();
        demo.setAge(11);
        demo.setName("我");
        Demo demo2 = new Demo();
        demo2.setAge(12);
        demo2.setName("李");
        List<Demo> demoList = new ArrayList<>();
        demoList.add(demo);
        demoList.add(demo2);
        return demoList;
    }

    public static void main(String[] args) {
        List<Demo> demoList = getDemo1();
        List<Demo> demos = getDemo2();

        List<Demo> intersection = demoList.stream()
                .filter(item -> demos.stream().map(e -> e.getName()).collect(Collectors.toList())
                        .contains(item.getName())).collect(Collectors.toList());
          System.out.println(intersection);
    }
}

分享到:
评论

相关推荐

    java 中list 和map 混合使用。求补集

    使用两个list,String&gt;&gt; 求交集和补集。

    Java8 Stream对两个 List 遍历匹配数据的优化处理操作

    Java8 Stream对两个List遍历匹配数据的优化处理操作 Java8 Stream是一个功能强大的数据处理工具,它可以对数据进行处理、过滤、聚合和转换等操作。在本文中,我们将探讨如何使用Java8 Stream来对两个List进行遍历和...

    java 判断两个时间段是否重叠的案例.docx

    "java 判断两个时间段是否重叠的案例" 本文主要介绍了如何在 Java 中判断两个时间段是否重叠的案例。时间段是指具有起始时间和终止时间的时间范围,在实际开发中,我们经常需要判断两个时间段是否存在重叠的情况。...

    java8 集合求差集、并集、交集的实例

    下面小编就为大家分享一篇java8 集合求差集、并集、交集的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    两个List集合取相同重复数据的方法

    最后,我们可以使用getRepetition()方法来获取两个List集合的交集。 ```java System.out.println("List1的数据:" + list1); System.out.println("List2的数据:" + list2); System.out.println("交集为" + ...

    获取两个数组相同的元素或不同的元素输出

    本篇文章将深入探讨如何在Java中获取两个数组的相同元素和不同元素。 首先,我们可以使用Java的内置函数`equals()`来比较两个数组是否完全相等。`equals()`方法会检查两个数组的引用是否指向同一个对象,以及两个...

    java jsonarray 踢重 去重操作

    在Java中处理JSON数据时,经常需要对JSON数组进行各种操作,其中去重是一个常见的需求。本文将详细介绍如何使用Java对`JSONArray`进行去重操作,并深入探讨背后的原理和技术细节。 ### JSON与Java JSON...

    求交集和非交集

    例如,假设我们有两个列表`list1`和`list2`,我们可以这样求交集: ```python list1 = [1, 2, 3, 4, 5] list2 = [4, 5, 6, 7, 8] intersection = set(list1) & set(list2) ``` 这里,`set(list1)`和`set(list2)`将...

    两个有序链表序列的合并_C语言_

    在编程领域,特别是数据结构和算法中,"两个有序链表序列的合并"是一个常见的问题。这个问题要求我们合并两个已排序的链表,使得合并后的链表仍然保持非降序排列。在这里,我们主要讨论如何使用C语言来解决这个问题...

    List和Set使用retainAll方法的比较

    本文将深入探讨List和Set在使用`retainAll`方法时的效率差异,并通过`ListAndRetainAll.java`和`SetAndRetainAll.java`两个示例代码来具体分析。 首先,让我们了解`retainAll`方法的基本概念。`retainAll`是Java...

    java实现找出两个文件中相同的单词(两种方法)

    在Java中,我们可以使用List集合的retainAll()方法来计算两个集合的交集,该方法将删除List集合中不包含在指定集合中的元素,从而获得两个集合的交集。 知识点三:使用BufferedReader读取文件内容 在Java中,我们...

    java集合框架的使用。集合的运算

    4. 集合的并集:通过使用addAll()方法,可以将两个集合合并成一个新的集合,这就是并集: ```java Set&lt;String&gt; set1 = new HashSet(Arrays.asList("A", "B")); Set&lt;String&gt; set2 = new HashSet(Arrays.asList("B", ...

    【Java代码之美】 -- Java必会的工具库,减少代码量的利器(csdn)————程序.pdf

    Java集合框架提供了`retainAll`方法,可以用来找出两个List的交集: ```java List&lt;String&gt; list1 = ...; List&lt;String&gt; list2 = ...; list1.retainAll(list2); ``` ### 2. Apache Commons 工具类库 Apache Commons...

    Java 集合类 简单Demo

    比如`Collections.max(list)`获取列表中的最大值,`Collections.swap(list, i, j)`交换列表中两个位置的元素,以及`Collections.disjoint(set1, set2)`检查两个集合是否没有交集。 最后,对于源码部分,可能讲解了...

    Java集合排序及java集合类详解(Collection、List、Map、Set)

    - **Map**:是一种键值对集合,每个键都是唯一的,用于关联两个对象,常用于快速查找场景。 #### Collection `Collection`接口是Java集合框架的核心接口之一,它定义了集合的基本行为,包括添加、删除、查询等操作...

    java集合与通用集合

    `Collection`有两个主要的子接口:`Set`和`List`,它们分别代表不同的数据结构。`Set`接口确保集合中的元素唯一,不允许重复,并且支持数学集合操作,如交集和并集。常见的实现类有`HashSet`、`TreeSet`和`...

    Java redis五种数据类型在Java中的详细使用

    在Java中,可以使用`hset()`添加键值对,`hget()`获取单个键值,`hgetAll()`获取所有键值对。 ```java jedis.hset("user", "name", "Alice"); jedis.hset("user", "age", "25"); Map, String&gt; user = jedis....

    java操作redis

    - `List`(链表):适合实现队列、消息系统等功能,支持从两端进行添加和移除操作。 - `Set`(集合):无序的、唯一的元素集合,可以用于社交网络中的好友列表等功能。 - `Sorted Set`(有序集合):在集合的基础...

    Scala集合Java开发Java经验技巧共9页.pdf

    本资料《Scala集合Java开发Java经验技巧共9页.pdf》将深入探讨这两个领域的交集,帮助开发者提升在实际项目中的技能。 **Scala集合库的优势** Scala的集合库是其一大亮点,它提供了丰富的数据结构,如List、Set、...

    TreeMap<K,V>类以及LinkedList<E>

    有10个硬盘,有两个重要的属性:价格和容量。编写一个应用程序,使用TreeMap,V&gt;类,分别按照价格和容量排序并输出10个硬盘的详细信息 9_5.编写一个应用程序,要求将LinkedList创建的对象写入到文件,然后读出一个...

Global site tag (gtag.js) - Google Analytics