直接上代码,觉得有用的大佬点个赞。
package com.jackrain.nea.oc.oms.services;
import lombok.Builder;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Niz
*/
public class JavaDemo {
public static void main(String[] args) {
List<A> list1 = new ArrayList<>();
List<B> list2 = new ArrayList<>();
data(list1, list2);
System.out.println(list2.stream().filter(
b ->
{
for (A a : list1) {
if(StringUtils.equals(a.name, b.getName())){
return true ; // 相同的留下
};
}
return false;
}
).collect(Collectors.toList()));
}
// 数据
private static void data(List<A> list1, List<B> list2){
list1.add(A.builder().id("001").name("诸葛亮").build());
list1.add(A.builder().id("002").name("司马懿").build());
list1.add(A.builder().id("003").name("周瑜").build());
B b1= new B();
B b2= new B();
B b3= new B();
b1.setId("001");
b1.setName("诸葛亮");
b2.setId("002");
b2.setName("司马懿");
b3.setId("004");
b3.setName("鲁肃");
list2.add(b1);
list2.add(b2);
list2.add(b3);
}
@Builder
static class A{
private String id;
private String name;
}
@Data
static class B{
private String id;
private String name;
}
}