gpt4 book ai didi

java - 合并两个自定义对象类型的 ArrayList

转载 作者:搜寻专家 更新时间:2023-11-01 07:54:58 25 4
gpt4 key购买 nike

我想将两个 ArrayList 组合成一个。这些 ArrayLists 不是“字符串”类型。对象类型是自定义类。

private ArrayList<NewsItem> newsList;
private ArrayList<NewsItem> eventList;
private ArrayList<NewsItem> combinedList;

这就是我尝试组合这两个 ArrayList 的方式:

private void combineArrays() {

if(newsList.size() > 0){
for (int i = 0; i<newsList.size(); i++){

NewsItem aBean = newsList.get(i);
combinedList.add(aBean);
}
}
if(eventList.size() > 0){
for (int i = 0; i<eventList.size(); i++){
NewsItem aBean = eventList.get(i);
combinedList.add(aBean);;
}
}
}

应用崩溃了。这种方法有什么问题?

最佳答案

你可以做得更简单......

combinedList = new ArrayList<NewsItem>();
if (newsList != null)
combinedList.addAll( newsList );
if (eventList!= null)
combinedList.addAll( eventList);

如果您不想重复(意味着您已经正确实现了 equals()),那么您可以使用 HashSet,例如,但这意味着您不需要特定的元素顺序。

关于java - 合并两个自定义对象类型的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29251817/

25 4 0