ToB企服应用市场:ToB评测及商务社交产业平台

标题: java如何使用代码求两个list集合的交集呢? [打印本页]

作者: 玛卡巴卡的卡巴卡玛    时间: 2022-9-3 14:36
标题: java如何使用代码求两个list集合的交集呢?
转自:
http://www.java265.com/JavaCourse/202204/3123.html
集合简介:
  集合是一组可变数量的数据项(也可能是0个)的组合,这些数据项可能共享某些特征,需要以某种操作方式一起进行操作。一般来讲,这些数据项的类型是相同的,或基类相同(若使用的语言支持继承)。列表(或数组)通常不被认为是集合,因为其大小固定,但事实上它常常在实现中作为某些形式的集合使用。集合的种类包括列表,集,多重集,树和图。枚举类型可以是列表或集。
 
下文笔者讲述求list集合的交集的方法简介说明,如下所示:
  1. 实现思路:
  2.      使用stream流中的filter方法对集合
  3.           进行包含关系计算,从而得到交集(jdk8循环的新特性)
复制代码
例:
  1. package com.java265.other;
  2. import java.io.UnsupportedEncodingException;
  3. import java.security.NoSuchAlgorithmException;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import java.util.stream.Collectors;
  7. public class Test16 {
  8.         /**
  9.          * java265.com 示例程序
  10.          *
  11.          * @throws IllegalAccessException
  12.          * @throws InstantiationException
  13.          */
  14.         public static void main(String[] args) throws InstantiationException, IllegalAccessException {
  15.                 List<String> list1 = new ArrayList<String>();
  16.                 list1.add("java265.com-1");
  17.                 list1.add("java265.com-2");
  18.                 list1.add("java265.com-3");
  19.                 List<String> list2 = new ArrayList<String>();
  20.                 list2.add("java265.com-8");
  21.                 list2.add("java265.com-2");
  22.                 list2.add("java265.com-9");
  23.                 System.out.println("======================");
  24.                 // list1 并集
  25.                 list1 = list1.stream().filter(e -> {
  26.                         return list2.contains(e);
  27.                 }).collect(Collectors.toList());
  28.                 System.out.println(list1);
  29.         }
  30. }
  31. ------运行以上代码,将输出以下信息------
  32. ======================
  33. [java265.com-2]
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4