【发布时间】:2018-08-30 12:30:44
【问题描述】:
我想将 Java lambda 表达式用于两个列表的交集,然后再使用 lambda 表达式从列表中删除。
例子:我有
List<Person> first = new ArrayList<Person>();
List<Person> second = new ArrayList<Person>();
假设两个列表都有一些 Person 对象。 我想将两个按名称过滤的列表的临时交集放入列表中,例如:
List<Person> temp = new ArrayList<>();
for (Person one : first) {
for (Person two : second) {
if(one.getName.equals(two.getName)) {
temp.add(two);
}
}
}
然后我想使用过滤器从 temp 中删除一些 Person,例如使用姓氏。
for (Person tmp : temp) {
for (Person one : first) {
if (one.getSurname.equals(tmp.getSurname)) {
temp.remove(tmp);
}
}
}
我想使用 lambda 表达式,我该怎么做?
【问题讨论】:
标签: java list lambda java-8 java-stream