【发布时间】:2018-05-05 18:46:34
【问题描述】:
我有一个名为 Employee 的用户定义对象,如下所示,并且有两个包含 Employee 对象的不同列表。
在两个不同的列表中,我需要根据对象中的名称字段找出唯一的对象。 最终列表应仅包含一个名为 c 的对象。
请建议我如何使用 java 8 做到这一点?
import java.util.ArrayList;
import java.util.List;
class Employee{
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
public class UniqueObjects {
public static void main(String[] args) {
List<Employee> empOneList= new ArrayList<Employee>();
List<Employee> empTwoList= new ArrayList<Employee>();
Employee empOne= new Employee();
empOne.setName("a");
empOne.setAge("23");
empOneList.add(empOne);
Employee emptwo= new Employee();
emptwo.setName("b");
emptwo.setAge("24");
empOneList.add(emptwo);
Employee em= new Employee();
em.setName("a");
em.setAge("23");
empTwoList.add(em);
Employee emp1= new Employee();
emp1.setName("d");
emp1.setAge("24");
empTwoList.add(emp1);
}
}
【问题讨论】:
-
当两个起始列表都没有这个名字时,为什么最终列表应该有名字
c? -
@TimBiegeleisen 我这样理解他正在搜索的对象的名称是
c而不是列表 -
在上面的例子中,唯一列表应该只包含一个 Employee 对象。如果我们有多个关于 name 字段的唯一元素,最终列表也应该包含 Employee 对象的列表
-
@Raju,您能否在代码中给出的示例中添加结果应该类似的内容,以明确您想要实现的目标?结果是否应该包含员工“b”和“d”?
-
两个不同的员工可以有相同的名字。 35 岁的 Joe 与 20 岁的 Joe 不同。但如果是大公司,你可能会有两个 20 岁的 Joe。
标签: java collections java-stream