我想迭代两个列表并获得新的过滤列表,其中的值将不存在于第二个列表中.有人可以帮忙吗?
我有两个列表 - 一个是字符串列表,另一个是MyClass对象列表.
List<String> list1;
List<MyClass> list2;
MyClass {
MyClass(String val)
{
this.str = val;
}
String str;
...
...
}
Run Code Online (Sandbox Code Playgroud)
我希望基于以下方式过滤字符串列表 - >检查其值不存在的元素(abc)的第二个列表list1.
List<String> list1 = Arrays.asList("abc", "xyz", "lmn");
List<MyClass> list2 = new ArrayList<MyClass>();
MyClass obj = new MyClass("abc");
list2.add(obj);
obj = new MyClass("xyz");
list2.add(obj);
Run Code Online (Sandbox Code Playgroud)
现在我想要新的过滤列表 - >将有值=>"lmn".即不存在list2于其元素所在的值list1.
java 8中的两个列表对象的交集.有人能告诉我我做错了什么吗?
List<Student> originalStudent = new ArrayList<>();
List<Student> newStudent = new ArrayList<>();
List<Student> intersectListStudent = new LinkedList<>()
originalStudent.add(new Student("William", "Tyndale",1));
originalStudent.add(new Student("Jonathan", "Edwards",2));
originalStudent.add(new Student("Martin", "Luther"),3);
newStudent.add(new Student("Jonathan", "Edwards",2));
newStudent.add(new Student("James", "Tyndale",4));
newStudent.add(new Student("Roger", "Moore",5));
originalStudent.forEach(n ->
newStudent.stream()
.filter(db -> !n.getName().equals(db.getName()) &&
!n.getLastName().equals(db.getLastName()))
.forEach(student-> intersectListStudent .add(student)));
Run Code Online (Sandbox Code Playgroud)