Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java列表<;用户>;比较_Java_Collections_Java Stream - Fatal编程技术网

Java列表<;用户>;比较

Java列表<;用户>;比较,java,collections,java-stream,Java,Collections,Java Stream,我有两张单子 List<User> user1; List<User> user2; Class User{ String name; String age; } 列出用户1; 列表用户2; 类用户{ 字符串名; 弦年龄; } 我必须比较user1和user2。 如果假设有任何用户添加到user1,那么在本例中,我必须将其添加到user2 如果有什么东西在user1上更新了,我必须更新user2 目前,我正在遍历每个对象并对其进行比较。但是我需要帮助

我有两张单子

List<User> user1;
List<User> user2;

Class User{
    String name;
    String age;
}
列出用户1;
列表用户2;
类用户{
字符串名;
弦年龄;
}
我必须比较user1和user2。 如果假设有任何用户添加到user1,那么在本例中,我必须将其添加到user2

如果有什么东西在user1上更新了,我必须更新user2


目前,我正在遍历每个对象并对其进行比较。但是我需要帮助。有没有什么有效的方法来做这件事呢

一种方法可以是使用流:

List<User> newList = Stream.of(listOne, listTwo)
                            .flatMap(Collection::stream)
                            .distinct()
                            .collect(Collectors.toList());
List newList=Stream.of(列表一、列表二)
.flatMap(集合::流)
.distinct()
.collect(Collectors.toList());

有两个内容相同的
对象列表的原因是什么?您实际上还没有在这里提出问题。是什么阻止了你仅仅编写代码来做你想做的事情?第一个列表的来源不同,第二个列表也不同。我在所有记录中循环,但这不是一种有效的编码方式。还有什么其他的吗?你应该把你的问题包括到目前为止你做了什么,以及为什么它对你不起作用。只有当为
用户定义了
等于
hashCode
时,这才有效。OP并没有确切提到目前如何比较这些对象。