【发布时间】:2021-08-09 02:47:54
【问题描述】:
需要查找到arraylist之间的共同对象。它们都是VarList 类型,这是简单的 POJO 类。我的比较返回了数据库列表中的所有元素,需要在两个数组列表之间有一个共同的元素(如您所见,它们是对象)并将它们添加到新列表中。
VarList 类
public class VarList {
private int number;
private int age;
private String name;
public VarList(int number, int age, String name) {
super();
this.number = number;
this.age = age;
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
我的解决方案有问题
//database arraylist
ArrayList<VarList> database=new ArrayList<VarList>();
database.add(new VarList(105,19,"b"));
database.add(new VarList(101,18,"c"));
database.add(new VarList(106,54,"database"));
//object array list
ArrayList<VarList> object=new ArrayList<VarList>();
object.add(new VarList(105,19,"b"));
database.add(new VarList(106,54,"database"));
List<VarList> resultList = new ArrayList<VarList>();
for(VarList user1 : database) {
for(VarList user2 : object) {
if(user1.getName().equals(user2.getName())) {
resultList.add(user2);
}
System.out.println(resultList);
}
}
【问题讨论】:
-
您的实施有什么问题?如果有更好的方法,Java 不是很好,所以 IDK,但这似乎是合理的。
-
“有问题”不是有用的问题描述。此外,尚不清楚“数据库列表”应该是什么意思。而且你没有定义“共同元素”;您的代码只比较名称字符串,所以“等名”是否旨在定义“公共元素”?
标签: java arraylist collections java-8