Java 两个不同的ArrayList合并?

Java 两个不同的ArrayList合并?,java,android,Java,Android,我尝试将一种类型的arrayList数据添加到另一种类型的arrayList中,我遵循以下链接: 我应该怎么做才能解决这个问题?问题我应该怎么做才能解决这个问题? 答:找到关于Java的教程并阅读 如果要在单个列表中存储不同类型的对象,则应创建一个可以接受任何对象的列表。Java中的每个对象都继承自对象类。因此,您需要创建如下内容: for(SublistLocalData list: catList ) nameList1.addAll( list.nameList ); 选项2-手工操

我尝试将一种类型的arrayList数据添加到另一种类型的arrayList中,我遵循以下链接:


我应该怎么做才能解决这个问题?

问题
我应该怎么做才能解决这个问题?

答:找到关于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