Java List<List<Integer>> 取有交集的元素的集合

如题。list里面也是list。怎么能够将有交集的list取出来。例如 [1,2,3,6],[2,3,4][3,6],[4,5]
这样子,最后取出来的是[1,2,3,6],[2,3,4],[4,5],而[3,6] 是被包含在[1,2,3,6]中的,就排出。

1个回答

public void test(){
        List<List<Integer>> result = new LinkedList<>();

        result.add(new LinkedList<>(Arrays.asList(1, 2, 3, 6)));
        result.add(new LinkedList<>(Arrays.asList(2, 3, 4)));
        result.add(new LinkedList<>(Arrays.asList(3, 6)));
        result.add(new LinkedList<>(Arrays.asList(4, 5)));

        int sub[] = new int[result.size()];
        for (int i = 0; i < result.size(); i++) {
            List<Integer> item = result.get(i);
            for (int k = i + 1; k < result.size(); k++) {
                List<Integer> OtherItem = result.get(k);
                if (sub[k]!=1 && item.containsAll(OtherItem)) {
                    sub[k] = 1;
                } else if (sub[i]!=1 && OtherItem.containsAll(item)) {
                    sub[i] = 1;
                }
            }
        }
            // 移除标记的元素
        for (int i = sub.length - 1; i > 0; i--) {
            if (sub[i] == 1) {
                result.remove(i);
            }
        }

        for (int i = 0; i < result.size(); i++) {
            System.out.println(Arrays.toString(result.get(i).toArray()));
        }
    }

有更好的, 请告知。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java List> 取有交集的元素的集合
如题。list里面也是list。怎么能够将有交集的list取出来。例如 [1,2,3,6],[2,3,4][3,6],[4,5]rn这样子,最后取出来的是[1,2,3,6],[2,3,4],[4,5],而[3,6] 是被包含在[1,2,3,6]中的,就排出。
两个List取交集
List&amp;lt;int&amp;gt; a1 =new List&amp;lt;int&amp;gt; { 1, 2, 3, 4, 5 }; List&amp;lt;int&amp;gt; a2 = new List&amp;lt;int&amp;gt; {3, 4, 5,6,7 }; var a3 = a1.Intersect(a2); foreach (var item in a3) { Console.WriteLine(it...
两个集合List的交集
两个List的交集
python 多个list取交集
python处理算法是真的简单,来个小例子: 现在有五个list 分别为a,b,c,d,e,取他们的交集,起初我这么写: a=[4] b=[4,2] c=[3,4] d=[1,4] e=[5,4] item_list = [a,b,c,d,e] def test(item_list): print item_list if len(item_list) == 1: ...
JAVA List 数组取交集和差集
今天无意间去菜鸟教程( www.runoob.com )翻了一下JAVA基础,发现了一个意外的惊喜,就是关于对两个List 集合进行取交集和差集的方法,感觉十分受用,因为自己在之前做项目的时候,确实有碰到过类似的需求,所以在此刻记录下来,与各位技术同行分享一下。 1.取交集 /** * @Description: 取交集 */ public static void listJiaoJI()...
list java 求交集
我用list_department 取出一个文章对象的集合,用list_function 也取出一个文章对象的集合,但是当我用list_department .retainAll(list_function );rn之后我再取出list_department 的时候,list_department 居然没数据。后来我查看了list.size(),结果确实size为0,但是list_department 与list_function 确实是有交集啊,为什么取完交集后,交集为空啊?求各位大侠指教。。 rnrn关键代码如下:你们看应该怎么改?rnlist_function = (ArrayList ) articleService.searchArticleByFunctionTop(listFunction);rn System.out.println("11111a" +list_function.size());rn list_department = (ArrayList ) articleService.searchArticleByDepartmentTop(user);rn System.out.println("22222a" +list_department.size());rn list_function.retainAll(list_department);rn System.out.println("2.55555a" + list_function.size() );rn list = list_function; rnrnrn求得最后list,就是最终目标
java中list集合中交集的应用
常常用到要求两个集合的交集,即list.retainAll()方法的应用 public class GoddessAction { public static void main(String[] args) { String[] abc = new String[] { "abc", "acd", "add" }; String[] abd = new String[] {"ac
Java中List集合过滤出符合条件的List元素集合
    在项目开发的过程中,我们经常会对List集合进行按条件的过滤,筛选出我们想要的结果或者是符合项目需求的数据。比如:我们有一批学生对象,每个学生都有自己的年龄属性,但是我们想要筛选出这一批学生中年龄为21和22的所有学生,我们就需要对这一批学生集合中的数据进行按条件的筛选,得到我们想要的结果。 创建学生实体类: package com.shsj.entity; public clas...
List集合元素操作方法
List集合元素操作方法排序: static void reverse(List list):反转指定List集合中元素的顺序。 static void shuffle(List list):对List中的元素进行随机排序(类似于洗牌的动作)。 static void sort(List list):根据元素的自然顺序对指定的List 里的元素按升序排序。 static void sort(
List集合元素访问
本季课程首先对Python简要介绍,然后演示如何搭建Python的开发环境,以及如何在IDE中调试Python程序;后面介绍了Python核心和基础的知识内容:什么是变量,数据的类型,运算符,if语句,while语句,for循环,什么是集合,如何进行日期和时间的表示,如何使用函数等。rn以“平”“直”“快”为授课原则,以精选案例加代码实战的方式,平易近人的直接的不拐弯抹角的带大家入门Python,为你的职业发展注入新鲜的能量。希望借助此课程,让越来越多的人进入到Python开发领域。学好Python,把握AI崛起的浪潮,抓住大数据的尾巴!rn
list 取第几个元素
#!/usr/bin/python word=['a','b','c','d','e','f','g'] # 取第二个元素 a=word[2] print "a is: "+a # 取第2~3个元素 b=word[1:3] print "b is: " print b  # 取前2个元素 c=word[:2] print "c is: " p
List集合元素排序
我们常用到要对List集合中的元素进行排序,而且要按照元素中的某个列来进行排序,直接上代码 public class ListSortUtil { /**降序**/ public final static String DESC = "desc"; /** * 升序 **/ public final static String ASC = "...
List ,元素数据在List集合如何存放?
一 ,Lest 是继承了Collection ,特点是:无序唯一;数据取出方式, for循环,迭代器 ,增强for循环实现类有ArrayList、LinkedList、Vector、Stack等 。1. ArrayList是基于数组实现的,是一个数组对列,可以增加数据元素,增加容量;2. LinkedList 是基于链表实现的,可作为双向循环列表,可当做堆和栈使用;3. Vector 是基于数组...
Java集合----List集合
List List 代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引List 允许使用重复元素,可以通过索引来访问指定位置的集合元素。List 默认按元素的添加顺序设置元素的索引。List 集合里添加了一些根据索引来操作集合元素的方法  void add(int index, Object ele)  boolean addAll(int index, Collection
Java集合—List集合
List集合 【List   元素有序(元素带角标索引)(存储顺序和取出顺序一致);  允许重复; 可以有null元素。   List又称为有序的Collection。它按对象进入的顺序保存对象,所以它能对列表中的每个元素的插入和删除位置进行精确的控制。同时,它可以保存重复的对象。   List接口是Collection接口的一个子接口。    该接口的实现类:ArrayList
Java集合之List集合
      Collection有两个子接口:List 和 Set interface extends Collection{      //就可以使用Collection集合的功能  } List集合的特点:       有序的 (存储和取出一致),可以允许重复元素  Set集合的特点:       无序性(不能保证迭代的顺序,基于hashMap),并且元素不能重复 一.List集...
java集合之List集合
关于集合以前也总结过一点,一直忘记摘录一下集合的继承关系图。核心收集接口封装了不同类型的集合,如下图所示。这些接口允许集合被独立地操纵它们表示的细节。核心收集接口是Java集合框架的基础。正如您在下图中所看到的,核心收集接口形成了一个层次结构。如图所示:...
Java——Java集合List
本文根据疯狂Java讲义(第3版)整理而成,感谢作者李刚老师。如果觉得内容不错的话,推荐大家买一本阅读,绝对物超所值哦。阅读本文前可以先看Java——Java集合概述。三、List一、List概述二、List接口和ListIterator接口三、ArrayList和Vector实现类四、LinkedList实现类五、固定长度的List六、各List实现类性能分析.
java中循环遍历删除集合list中的元素 java删除集合List中的元素
java中循环遍历删除集合list中的元素 java删除集合List中的元素 一、问题描述 1、 假设有这么一个集合,代码如下: List&lt;java.sql.Connection&gt; connList=new ArrayList&lt;java.sql.Connection&gt;(10); 2、需求: 将每一个 Connection 对象执行 .close...
java 两list求交集
String s1 = &quot;50000,100000,200000,300000,500000,&quot;; String s2 = &quot;10000,30000,50000,100000,&quot;; String[] a1 = s1.split(&quot;,&quot;); String[] a2 = s2.split(&quot;,&quot;); List&amp;lt;String&amp;gt; list = new ArrayList...
JAVA List 并集, 交集, 差集
JAVA List 并集, 交集, 差集 List list =new ArrayList();
复合类型LIST如何取元素?
如下定义:rn public List> GridsArry = new List>();rnrn第1次,向队列中增加序列1,3,5,7;,然后将这个序列增加到GridsArry;rn第2次又增加序列8,9,10,再将这个序列增加到GridsArryrn此时,可以用COUNT方法得到有2个序列,但怎么分别取这个序列的元素呢?rn
J2SE-删除List集合元素
https://blog.csdn.net/claram/article/details/53410175https://blog.csdn.net/sinat_23679015/article/details/78768454
list集合添加元素,删除元素
遍历 list 集合,删除满足条件元素的同时,也在添加元素:使用迭代器遍历删除时,会报异常: ConcurrentModificationException原因:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常解决方案:将要删除元素放入另一个delList集合中,最后元素遍历完成后,使用list.removeAll(delList);同时给遍历集合删除元素的代码,加同步锁。...
List 集合去除 null 元素
在 JavaWeb 开发过程中,我们有时候会遇到 jsp 以集合的形式向后台传输数据,这时候如果集合中有几个 null 元素,我们后台就必须对数据进行非空处理,总结了 2 种处理这种情况的方法,方便参考。一)使用 for 循环处理集合 思路:这种处理方式是把要处理的集合进行遍历,取出其中不为空的元素,添加到新的集合中,代码如下: public static <T> List<T> removeNul
List集合中的元素排序
java.util.collections中的sort方法实现了对集合中的数据进行排序
list集合中元素、对象排序
参考:HashMap的2种遍历(entrySet、keySet)(详细分为4个方法) list集合中元素、对象排序 对普通的元素可使用Collection中的sort(); 对对象类型而言,可以通过实现Comparator接口,重写compare方法实现。 //1.对集合中元素排序 List nums = new ArrayList(); nums.ad...
List集合元素排序——倒序
//测试list 倒序 @Test public void test6() throws Exception { List&lt;String&gt; list = new ArrayList&lt;String&gt;(); list.add("赵一"); list.add("钱二"); list.add("孙三"); list.add("李四"); //倒序 ...
list集合移除元素问题
问大家一个问题,我现在有一个List>集合,遍历每一个map,里面有元素值相同就把这个map移除,rn我下面的代码好像移除不掉,谁能帮忙看看是啥原因,最好能帮忙修改一下,感激涕零!rnrnrnrnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466388256_877816.png][/img]
Java List 集合去除null元素
第一种使用遍历的方式 public static &amp;lt;T&amp;gt; List&amp;lt;T&amp;gt; removeNull(List&amp;lt;? extends T&amp;gt; oldList) { // 临时集合 List&amp;lt;T&amp;gt; listTemp = new ArrayList(); for (int i = 0;i &amp;lt; oldList.size(); i++) { // 保...
【java】list集合之元素查重
文章目录list集合之元素查重 前言 代码 验证结果 list集合之元素查重 前言 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在将excel表格中的数据插入到数据库中之前,会先进行对数据库的一个查重,也就是为了确定excel表格中的数据是否和数据库中已有的数据是否重复,通过将excel表格中的数据存入到list1集合,将数据库中的数据遍历查询...
java比较两个List集合的相同元素
package demo8; //实体类 public class Test { private int number; public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } } package demo8; import jav...
两个List集合如何去重,取交集,并集,差集
List a = new ArrayList&amp;lt;&amp;gt;(32); a.add(1); a.add(2); a.add(3); List b = new ArrayList&amp;lt;&amp;gt;(32); b.add(2); b.add(3); b.add(3);   1.并集 a.addAll(b); 运行结果:1,2,3,2,3,3 2.无重复并集 a.removeAll...
获取集合List的某个元素
用get方法,如if(list!=null){   list.get(0);}就是取第一个元素,先判断是否为空,避免空指针异常。
List集合中元素排序
前言 没什么好说的,基础知识。集合中的元素实现排序,根据元素的某一或者多个属性进行排序。 方式一 entity实体 public class Student implements Comparable&amp;lt;Student&amp;gt;{ private String name; private Integer age; public Student(){} ...
list集合删除多个元素
Iterator Iterator= list.iterator();while(it.hasNext()){ String x = it.next(); if(x.equals("del")){ it.remove(); }}
java动态删除集合元素(List)
[b]如下用法是不正确的:[/b] [code=&quot;java&quot;]for(JaveBean1 jb: jbList){ if(jb.status == F){ jbList.remove(jb); } }[/code] 具体原因可以参考: http://blog.csdn.net/smcwwh/article/details/7036663 正确的使用方...
List集合包含元素的问题
List A;rnA里面有"a","b","c" 3个元素rnList B;rnB里面有"a" 1个元素rnrn除了用迭代的方法外,有没有简单的方法可以得出A是否含有B中的元素,rn我试了下A.contains(B)和A.containALL(B),好像都不行
将两个List合并为一个List(并集)+取交集
List questionerIdList = new ArrayList(); List l1 = sysuserinfMapper.findSysuserIdsByrRealName(questionName); List l2 = wechatinfMapper.selectWechatIdsByNickname(questionName); questionerIdList.ad
Java取两个集合的交集
public boolean retainAll(Collection c)
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法