Java 两个不同的ArrayList合并?
我尝试将一种类型的arrayList数据添加到另一种类型的arrayList中,我遵循以下链接:Java 两个不同的ArrayList合并?,java,android,Java,Android,我尝试将一种类型的arrayList数据添加到另一种类型的arrayList中,我遵循以下链接: 我应该怎么做才能解决这个问题?问题我应该怎么做才能解决这个问题? 答:找到关于Java的教程并阅读 如果要在单个列表中存储不同类型的对象,则应创建一个可以接受任何对象的列表。Java中的每个对象都继承自对象类。因此,您需要创建如下内容: for(SublistLocalData list: catList ) nameList1.addAll( list.nameList ); 选项2-手工操
我应该怎么做才能解决这个问题?问题
我应该怎么做才能解决这个问题?
答:找到关于Java的教程并阅读
如果要在单个列表中存储不同类型的对象,则应创建一个可以接受任何对象的列表。Java中的每个对象都继承自对象
类。因此,您需要创建如下内容:
for(SublistLocalData list: catList )
nameList1.addAll( list.nameList );
选项2-手工操作
mergeResult.addAll(list1);
mergeResult.addAll(list2);
注意:在此解决方案中,您可以选择添加到meregesult
的开关项
举个例子,如果我们想得到不同的结果,我们可以这样做
for(YourType yt : list1) { //Itereate throug every item from list1
mergerResult.add(yt); //Add found item to mergerResult
}
for(YourType yt : list1) { //Itereate throug every item from list2
mergerResult.add(yt); //Add found item to mergerResult
}
当我们执行两次相同的操作时,我们可以创建一个utilities类
for(YourType yt : list1) { //Itereate throug every item from list1
if(mergerResult.contains(yt) == false) { //We check that item, already exits in mergeResult
mergerResult.add(yt); //Add found item to mergerResult
}
}
for(YourType yt : list1) { //Itereate throug every item from list2
if(mergerResult.contains(yt) == false) { //We check that item, already exits in mergeResult
mergerResult.add(yt); //Add found item to mergerResult
}
}
public static boolean addAllNotContained(集合问题我应该怎么做才能解决这个问题?
答:找到关于Java的教程并阅读
如果您想在单个列表中存储不同类型的对象,您应该创建一个可以接受任何对象的列表。Java中的每个对象都继承自object
类。因此,您需要创建如下内容:
for(SublistLocalData list: catList )
nameList1.addAll( list.nameList );
选项2-手工操作
mergeResult.addAll(list1);
mergeResult.addAll(list2);
注意:在此解决方案中,您可以选择添加到meregesult
的开关项
举个例子,如果我们想得到不同的结果,我们可以这样做
for(YourType yt : list1) { //Itereate throug every item from list1
mergerResult.add(yt); //Add found item to mergerResult
}
for(YourType yt : list1) { //Itereate throug every item from list2
mergerResult.add(yt); //Add found item to mergerResult
}
当我们执行两次相同的操作时,我们可以创建一个utilities类
for(YourType yt : list1) { //Itereate throug every item from list1
if(mergerResult.contains(yt) == false) { //We check that item, already exits in mergeResult
mergerResult.add(yt); //Add found item to mergerResult
}
}
for(YourType yt : list1) { //Itereate throug every item from list2
if(mergerResult.contains(yt) == false) { //We check that item, already exits in mergeResult
mergerResult.add(yt); //Add found item to mergerResult
}
}
public static boolean addAllNotContained(Collection如果SublistLocalData类和Localdata类之间存在任何关系,则可以创建一个类,该类是它们都是超级类,或者是两个类实现的接口。
假设您有这个类:class AbstractSuperClass{}
然后:在这里如何声明超类的列表:list list;
使用此列表,您可以添加任何类型的抽象超类(从中继承的类,如SublistLocalData和Localdata)
然后你可以写:
public static <T> boolean addAllNotContained(Collection<? super T> traget, Collection<? super T> source) {
//We should assure first that target or source are not null
int targetSize = target.size();
for(T item: source) {
if(target.contains(item) == false) {
target.add(item);
}
}
return targetSize != target.size();
}
如果SublistLocalData类和Localdata类之间存在任何关系,则可以创建一个类,该类是它们的超级类,或者是两个类实现的接口。
假设您有这个类:class AbstractSuperClass{}
然后:在这里如何声明超类的列表:list list;
使用此列表,您可以添加任何类型的抽象超类(从中继承的类,如SublistLocalData和Localdata)
然后你可以写:
public static <T> boolean addAllNotContained(Collection<? super T> traget, Collection<? super T> source) {
//We should assure first that target or source are not null
int targetSize = target.size();
for(T item: source) {
if(target.contains(item) == false) {
target.add(item);
}
}
return targetSize != target.size();
}
问题是什么?你想解决什么?@baraky:我想将catList数据添加到nameList1数据到ArrayList名称列表中。这是我的问题?添加你得到的错误如何?问题是什么?你想解决什么?@baraky:我想将catList数据添加到nameList1数据到ArrayList名称列表中。这是这是我的问题吗?添加您得到的错误如何?我使用ArrayList,我可以将两个不同数组的数据合并到一个不同的数组中吗arrayList@user2078315,ArrayList只是列表接口的实现。是的,数组列表就是一个列表。就像他说的,请阅读需要一些时间,但你会学到有用的东西。我试过了,但也犯了同样的错误或在名称列表1.addAll(catList)上;其中名称列表是列表,catList是列表类型,因此您有两种不同的类型。您必须使用list
我使用ArrayList,我可以将两个不同数组的数据合并到一个不同的数组中吗arrayList@user2078315,ArrayList只是列表接口的实现。是的,数组列表就是一个列表。就像他说的,请阅读就可以了metime但是你会学到有用的东西我试过了,但是在nameList1.addAll(catList)上得到了相同的错误;其中nameList是一个列表,catList是列表类型,所以你有两种不同的类型。你必须使用list