从两个List集合里找到相同部分和不同部分

/**
 * 获取两个集合里元素不同的部分
 */
public List<User> getDifferent(List<User> u1, List<User> u2) {
    //定义两个空集合
    List<User> allUsers = new ArrayList<>();
    List<User> differentUsers = new ArrayList<>();

    allUsers.addAll(u1);
    allUsers.addAll(u2);

    for (int i = 0; i < allUsers.size(); i++) {
        if (u1.contains(allUsers.get(i)) && u2.contains(allUsers.get(i))) {
            continue;
        } else {
            differentUsers.add(allUsers.get(i));
        }
    }

    return differentUsers;
}

原文地址:https://www.cnblogs.com/baijinqiang/p/11972418.html

时间: 2024-11-13 08:14:07

从两个List集合里找到相同部分和不同部分的相关文章

运用反射原理的简单工厂模式和运用反射原理从数据库里读出数据直接封装到实体集合里

一:简单工厂 最初学习的一个运用简单工厂的例子是做一个计算器: 首先是接口 public interface Cal { public double Calcu(double num1,double num2); } 然后是加减乘除类实现计算接口: public class Add implements Cal{ @Override public double Calcu(double num1, double num2) { return num1+num2; } } 再写一个工厂类,里面有一

hdu 1856 求集合里元素的个数 输出最大的个数是多少

求集合里元素的个数 输出最大的个数是多少 Sample Input41 23 45 61 641 23 45 67 8 Sample Output42 1 # include <iostream> 2 # include <cstdio> 3 # include <cstring> 4 # include <algorithm> 5 # include <cmath> 6 # include <queue> 7 # define LL

有一个集合,判断集合里有没有“world”这个元素,如果有,添加“javaee”

// 有一个集合,判断集合里有没有"world"这个元素,如果有,添加"javaee" List list = new ArrayList(); list.add("world"); list.add("java"); list.add("hello"); //ConcurrentModificationException /*Iterator it = list.iterator(); while(it.

A、B两个整数集合,设计一个算法求他们的交集

代码留作记录,本人水平有限,看了别人的解法真是自愧不如. 关于此题的详细探讨可以参考:http://blog.csdn.net/thebestdavid/article/details/12056293 /*A.B两个整数集合,设计一个算法求他们的交集,尽可能的高效.*/ #include <iostream> #include <cstring> #include <set> #define M 8 #define N 5 using namespace std; i

gridview里找到控件

for (int i = 0; i < gvIncomeYG.Rows.Count; i++) { Label lblYG_DYYGSR_BHS = ((Label)gvIncomeYG.Rows[i].Cells[18].FindControl("YG_DYYGSR_BHS")); } YG_DYYGSR_BHS是前台的控件的ID gvIncomeYG是gridview的ID gridview里找到控件

A、B两个整数集合的交集

rt,这是一个经典问题. 参考1:http://www.sysexpand.com/?path=exercises/array-intersection 参考2:http://leetcode.com/2010/03/here-is-phone-screening-question-from.html 用数组来模拟(本质上说集合中是没有重复元素的,这里用数组来模拟可以用重复元素),A.B数组长度分别为m和n.总的来说,分为以下几种方案. 方案1:两重循环判断(复杂度 O(m*n)) 暴力方法,并

C++程序设计实践指导1.5求两个整数集合并集改写要求实现

改写要求1:改写为单链表结构可以对任意长度整数集合求并集 #include <cstdlib> #include <iostream> using namespace std; struct LinkNode { int data; LinkNode* next; }; class SET { public: struct LinkNode* creat(int x[],int len); struct LinkNode* copy(LinkNode* aHead); int no

java中重写Comparator对两个list集合排序

public class test{ public static void main(String[] args) { List<LeaveRequest>  LvRequestList=new List<LeaveRequest>(); List<OtRequest> otRequestList=new List<OtRequest>(); List   allList=new List(); allList.addAll( LvRequestList);

循环删除集合里的值

1: List<string>.Enumerator enumerator = files.GetEnumerator(); 2: while (enumerator.MoveNext()) 3: { 4: if (File.Exists(enumerator.Current)) 5: { 6: File.Delete(enumerator.Current); 7: } 8: } .csharpcode, .csharpcode pre { font-size: small; color: b