java 将两个相同对象不同属性list合并?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 将两个相同对象不同属性list合并?相关的知识,希望对你有一定的参考价值。

对象user有三个属性:name,age,num;List1 有数据 name=a,age=1
List2有数据name = a, num=2
如何要将他们拼接起来?

程序如下:

IList a = new ArrayList();
IList b = new ArrayList();
(a as ArrayList).AddRange(b);

拓展资料:

Java programming language具有目前大部分编程语言所共有的一些特征,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的"形式和感觉",但它要比C++语言更易于使用,而且在编程时彻底采用了一种"以对象为导向"的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。applet可使网页使用者和网页之间进行交互式操作。

Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。目前,最常用的两种互联网浏览器软件中都包括一个Java虚拟机。几乎所有的操作系统中都增添了Java编译程序。

参考技术A 比如:List<User>和List<Emp>作比较 ,两者都有ID 且都为Int, 我们把id作比较的属性 ,List<User>有10条数据 , … 参考技术B user list name age num >
把两个表内容重定向一下不就合起来了么?
参考技术C 最笨的方法就是遍历两个list,当名字相同时就修改其中一个的值:

@Data
public class User
private String name;
private int age;
private int num;

public static void main(String[] args)
List<User> list1 = new ArrayList<>();
User user1 = new User();
user1.setName("a");
user1.setAge(1);
list1.add(user1);
System.out.println(list1);

List<User> list2 = new ArrayList<>();
User user2 = new User();
user2.setName("a");
user2.setNum(1);
list2.add(user2);
System.out.println(list2);

for (int i = 0; i < list1.size(); i++)
for (int j = 0; j < list2.size(); j++)
if (list1.get(i).getName().equals(list2.get(j).getName()))
list1.get(i).setNum(list2.get(j).getNum());



System.out.println(list1);



运行结果:
参考技术D

最笨的方法就是遍历两个list,当名字相同时就修改其中一个的值:

@Data
public class User
private String name;
private int age;
private int num;

public static void main(String[] args)
List<User> list1 = new ArrayList<>();
User user1 = new User();
user1.setName("a");
user1.setAge(1);
list1.add(user1);
System.out.println(list1);

List<User> list2 = new ArrayList<>();
User user2 = new User();
user2.setName("a");
user2.setNum(1);
list2.add(user2);
System.out.println(list2);

for (int i = 0; i < list1.size(); i++)
for (int j = 0; j < list2.size(); j++)
if (list1.get(i).getName().equals(list2.get(j).getName()))
list1.get(i).setNum(list2.get(j).getNum());



System.out.println(list1);

运行结果:

以上是关于java 将两个相同对象不同属性list合并?的主要内容,如果未能解决你的问题,请参考以下文章

List集合中的对象根据某个相同的属性,合并另外属性

List集合中的对象根据某个相同的属性,合并另外属性

java基础 合并两个类型相同的list

java怎么合并list对象集合

java 中怎样将2个不同对象的list 和成一个list

使用java流将两个相同大小(和不同类型)的列表组合到域对象列表中