找出两个list集合中是否有相同元素的算法?

@Test
public void say() {
List listA = new ArrayList();
List listB = new ArrayList();

    listA.add("z");
    listA.add("a");
    listA.add("b");
    listA.add("c");

    listB.add("c");
    listB.add("d");
    listB.add("r");
    listB.add("e");
}

有什么简易的算法吗? 或者说通常的大家常用的算法?  难道真的就是连个for循环判断吗?

4个回答

借助于Hashcode+循环

你可以采用交集或并集去做

   List list1 =new ArrayList();
  list1.add("1111");
  list1.add("2222");
  list1.add("3333");

  List list2 =new ArrayList();
  list2.add("3333");
  list2.add("4444");
  list2.add("5555");

  //并集
  //list1.addAll(list2);
  //交集
  //list1.retainAll(list2);
  //差集
  //list1.removeAll(list2);
  //无重复并集
    list2.removeAll(list1);
    list1.addAll(list2);
Evankaka
Evankaka 回复LQW_java_home: 这就要自己来写比较方法了,自定义 Comparator 对List排序
接近 4 年之前 回复
LQW_java_home
LQW_home 如果list里面的元素不是简单的字符串 而是对象,然后找出两个list中对象中的两个属性相同的对象怎么办哪?
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
通用方法找出list集合中相同的元素
通用方法找出list集合中相同的元素          public static <E> List<E> getDuplicateElements(List<E> list) {         return list.stream() // list 对应的 Stream                 .collect(Collectors.toMap(e...
判断两个list集合中元素是否相同
[code=Java][/code]有没有一种很简单的方法判断两个list集合中元素存在相同的。rn只要存在就返回true.rn我实在是不想取出单个元素去比较!rn
找出两个List集合重复的元素
前几天,有个同事问我说怎么找出两个List集合中重复的元素,我当时就说一个集合在外面循环,一个集合在内循环,如果两个元素相等了,就找出来了,我回来一想还是不对,要是数据非常多,这样循环下去,服务器会卡死的,最后我想了想,用以下两种方法: List list1 = new ArrayList<>(); List list2 = new ArrayList<>(); 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的不同元素
比较两个List元素是否相同 /** * * @param * @param a * @param b * @return [Parameters description] * * @return boolean [Return type description] * @exception throws [Excetion] [Exception desc
快速找出List集合的相同与不同元素集合
今天来比较一下两个list,然后分别找出相同元素和不同元素的集合。 先上一个简单的示例:(注:因为测试数据量比较小,用ArrayList,如果涉及到百万数据的插入移除操作的话,用LinkedList) List listA = new ArrayList(); List listB = new ArrayList(); for(int i=0;i<6){ listA.a
比较两个List是否相等(相同元素)
  最近做的一个项目,需要校验两个List是否相等的问题,我们看看如何比较两个数组相等。数组是一个连续的内存空间,所以一般来说,两个数组相等,就是意味着他们有相同的长度,相同的元素,以及相同的顺序。我们看看JDK的Arrays.equals()实现就一目了然了。 public static boolean equals(int[] a, int[] a2) { if (a==a2) re...
java找出集合中相同元素
jdk版本必须在1.8(或以上) import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static &amp;lt;E&amp;gt; List&amp;lt;E&amp;gt; getDuplicateElements...
给定两个 list,A 和 B,找出相同元素和不同元素
#A、B 中相同元素: print(set(A)&amp;set(B)) #A、B 中不同元素: print(set(A)^set(B))
时间杀手—for循环—如何找出两个list中的相同元素
import numpy import datetime a = numpy.random.randint( 5,1000,100000 ) b = numpy.randomstartt1 = datetime.datetime.now() l11 = sorted(list(set(a))) l22 = sorted(list(set(b))) l3 = [] x = 0 for i in l1...
找出List集合中不同的元素的方法
这几天在写代码时候用到了关于ArrayList的一些算法,在这里整理一下。有点小感悟:现在逐渐明白为什么大公司对算法的要求这么高,在写代码逻辑的时候就是用算法处理,而算法的效率的高低直接决定了你程序的运行性能,看来在以后的训练中药加强对算法的训练呀。 首先看一下CollectionUtils这个Collection工具类对list的一些处理,摘了别人的代码,把运行结果贴出来: package
java找出两个list中相同的字符串
List&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;(); list.add(&quot;Test5&quot;); list.add(&quot;Test4&quot;); list.add(&quot;Test3&quot;); list.add(&quot;Test2&quot;); list.add(&quot;Test1&quot;)
找出两个有序数组中相同的元素
#include <stdio.h> #include <stdlib.h> #define M 5 #define N 7 void intersection(int array1[], int array2[]) { int i = 0, j = 0; while (i<M&&j<N) { //数组1第一个数和数组2第一个数比较,若小于,再用第二个数和数组2的第一
找出两个字符串数组中的相同元素
如题目.
js找出两个数组中的相同元素
之前在网上搜到的找出两个数组中的相同元素不对或者说是有缺陷,自己写了一个,适用于一般的数组,不包括数组元素含有对象的等一些情况。代码如下 //传入两个数组作为参数,寻找两个数组中的相同元素。 function  FilterData(a,b)         {   //循环判断数组a里的元素在b里面有没有,有的话就放入新建立的数组中             var result = ne
php找出两个有序数组中的相同元素
如题,笔试一般喜欢考这些问题,给定两个有序数组(元素唯一,不重复),如何从中找出相同的元素 php其实已经给我们提供了方法来实现 array_intersect($arr1,$arr2),该方法只比较键值,返回键值相同的元素 当然笔试也不会考你系统函数调用,下面说说思路 很简单,两个数组从下标为0开始比较大小,小的向后取下一位值,如果相等则输出并将其中一个取下一位值,直到其中一个数组完成一轮
找出两个list集合中重复的部分
找出两个list中重复的部分,代码简单,如下: public static void main(String[] args) {          List list  =   new  ArrayList();          list.add("aaa");          list.add("bbb");          list.add("ccc");
判断两个数组是否有相同元素
我开始先想出了最简单的方法,就是先定义两个数组arr1和arr2,分别从第一个元素遍历到最后一个元素,判断有相同元素就输出。#include int main() { int i = 0,j = 0; int arr1[5]={1,2,3,4,5}; int arr2[5]={7,9,1,2,10}; for(i=0; i<5; i++) { for(
判断两个有序数组是否有相同元素
判断两个有序数组是否有相同元素 int arraySameNum(int *array1, int len1, int *array2, int len2) { int i = 0, j = 0; while (i &lt; len1 &amp;&amp; j &lt; len2) { if (array1[i] == array2[j]) { return 1; } ...
分享-判断两个List中的元素是否相同,递归
自己写了一个判断两个List中相同元素的方法,以前咱们普遍用的都是for循环,但是现在考虑到效率问题感觉那样确实有点繁琐,所以分享自己写的小代码,but下面这段代码执行的时候自己DeBug了一下,在return时,执行很多遍才return出去,不知道为什么?牛人帮忙解释一下吧。。。rnrn[code=java]rnpublic class Digui rnrn public static void main(String[] args) rn List l1 = new ArrayList();rn List l2 = new ArrayList();rn l1.add("1");rn l1.add("2");rn l1.add("3");rn l1.add("4");rn l1.add("5");rn l1.add("6");rn rn rn l2.add("3");rn l2.add("5");rn l2.add("7");rn Digui d = new Digui();rn List l = d.bian(l1,l2);rn System.out.println(l); rn rn int i = 0;rn int j = 0;rn List list = new ArrayList();rn public List bian(List list1,List list2) rn if(j==list2.size())rn j=0;rn i++; rn rn if(i==list1.size())rn return list;rn rn if(list1.get(i).equals(list2.get(j)))rn list.add(list1.get(i));rn j++;rn bian(list1,list2);rn elsern j++; rn bian(list1,list2);rn rn rn return list;rn rnrn[/code]
取两个集合中的相同元素
取两个集合中的相同元素,并将结果转换为字符串code public String GetIntersection(String args1, String args2) { String[] arr1 = args1.split(","); String[] arr2 = args2.split(","); List<String> li
比较两个集合中元素是否相同的问题
有一个集合1,2,3,……n,现在有多个子集合,每个子集合中的元素顺序随机排列但不重复,比如5,3,4,2,1、3,5,4,1,2,7,4,5,8,1.每个子集合的元素个数相同,如果两个子集合中元素是相同的则认为两个子集合相等,只保留一个子集合删除另外一个。rnrn设计一种算法能够实现任意两个子集合不等。
去掉两个list集合中重复的元素
public static void main(String[] args) { List&amp;lt;Long&amp;gt; list1 = new ArrayList&amp;lt;&amp;gt;(); List&amp;lt;Long&amp;gt; list2 = new ArrayList&amp;lt;&amp;gt;(); list1.add(1L); list1.add(2L...
两个List比较,找出List中相同的值
今天做报表统计遇到这样的问题,就是分别有两个List对象,但是要获取到这两个List中相同的值做为返回数据 故写下此文章,希望对其他童靴有所帮助,不在多说,具体如操作下文: public class TestArray { public static void main(String[] args) { List list1 = new Arr...
比较两个数组中元素是否相同
int k;//k是一个变量,经过一系列运算之后rn执行下面句子rnCString *newwenjian=new CString [k];rnrn、//文件wenjian被赋值rnrnCString oldwenjian[6];rn 赋值rnrn现在k大小在6附近,有可能大于6,也可能小于6rnrn若 k=6rnrn比较这两个数组中元素是否相同,相同的话结束,部分不同的话指出不同的元素,并把newwenjian不同的元素换到oldwenjian中,元素排列顺序无关。rnrnk!=6rn也执行上属类似操作rn
java找出两个字符串相同的元素
前两天面试,面试官让我在5分钟之内手写一个程序,就是找出两个字符串相等的元素,当时搞了一个双重循环,面试官说很low。现在写一个高效一点的,分享一下。 public class TestMain { public static void main(String[] args) throws Exception { String A="abcdef";
怎么判断List集合是所有的元素是否相同?
有个需求,需要判断一个List中的所有元素是否都相同,如果List中的所有元素值都等于12则返回true,否则返回false。rn怎么实现啊?
多线程找出两个list之间不同的元素
突然之间,给自已想到了一题,找出两个list之间的不同元素。 尝试了用list循环 或 用hashSet 实现,但效率都太低了点。 如是尝试了一下用多线程去实验一下,效率大大提升 :P 。。 [code=&quot;java&quot;] import java.util.ArrayList; import java.util.List; /** * @author gah * *...
java 比较两个list中是否有含有相同的数据
算法设计:oldList,从数据库中取出相关数据的dbList。 现在需要比较这两个list,如果有相同数据,则需要把oldList中的相同数据删除。 List dbList = cname1IpDao.select();//从数据库中取出数据,返回list for (String str : dbList) { if (oldList.contains(str)) ...
List 中去除相同元素
lst=1,2,3,4,1,2rn如何处理成rnlst=1,2,3,4rnrn见笑了,谢谢解答。
【C语言】比较两个数组中是否有相同的元素
比较两个数组中是否有相同的元素
判断两个数组中是否有相同的元素 C语言
判断两个数组中是否有相同的元素方法一:用第一个数组的第一个元素遍历第二个数组的每一个元素,然后依次用第一个数组的第二个第三个等等元素遍历数组二的每一个元素。#include<stdio.h> int main() { int i = 0; int j = 0; int count = 0; int arr1[] = { 1, 2, 3, 4, 5 }; int
C语言——判断两个数组中是否有相同的元素
题目:判断两个数组中是否有相同的元素,有就输出“有”,没有就输出“没有”。解法一:用第一个数组中的所有元素与第二个数组中的所有元素相比较,若有相同元素,则停止寻找并输出“有”;若比较完所有的数后都没有相同的元素则输出“没有”。代码如下:#include &amp;lt;stdio.h&amp;gt; int main() { int arr1[] = { 1, 3, 5, 6, 7, 9 }; int arr...
Java 查找两个集合中的相同元素和不同元素
1简单元素的查找一、找到2个集合中相同和不同的元素本文分享的示例代码实现提取2个集合中相同和不同的元素此处需要使用Collection集合所提供的一个方法:removeAll(Cellection list),removeAll方法用于从列表中移除指定collection中包含的所有元素。语法 removeAll(Collection&amp;lt;?&amp;gt; c)c:包含从列表中移除元素的collect...
python 求两个list的相同的元素
#coding=utf-8 file1=open(&quot;/home/xgx/back_data/back_total.list&quot;) file2=open(&quot;/home/xgx/back_data/mingzhang4/back_plate_image_list_train.list&quot;) plate1=[] plate2=[] for file3 in file1:     file4=file3.st...
Java两个List去掉相同的元素
public static void twoListDupRe(List frontList,List afterList){ //为了避免null集合做个判断 if(frontList == null){ frontList = new ArrayList(); } if(afterList == null){ afterList = new ArrayList()...
后台接口 两个list取相同元素
不能用equals和== !!!!!!!!!! 这两个比较的都是list中对象的地址,要想对象的内容的话,要在对象对应的类中重写equals方法 @Override public boolean equals(Object o) { //自反性 if (this == o) return true; //任何对象不等于null,比较是否...
java 集合问题找出两个集合中相同的元素并打印出来
把1-100 数随机放入到 数组长度为[97] 并且这些元素不能重复,找出未输入进数组的数!
java 两个相同元素的List,合并排序去除重复元素的快速算法
两个数组: import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Test { ...
js 有两个list,有相同的元素,如何循环取出相同的元素?
rt 循环两个list取出相同的元素。。。。。。。。。。。。
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数