Java 从其他两个集合创建集合

Java 从其他两个集合创建集合,java,generics,collections,Java,Generics,Collections,在C#中,如果我有两个通用集合 SthCollection<Sth> SthCollection 及 sElseCollection 我可以创建第三个,就像 SthAndSthElseCollection<Sth, SthElse> SthAndSthElseCollection (其中Sth和s是一些对象的列表) 如何将其“迁移”到Java?我可以使用枚举或其他集合类型执行此操作吗?我希望能为这些事情提供一个好的链接。感谢您的帮助org.apache.comm

在C#中,如果我有两个通用集合

SthCollection<Sth>
SthCollection

sElseCollection
我可以创建第三个,就像

SthAndSthElseCollection<Sth, SthElse>
SthAndSthElseCollection
(其中Sth和s是一些对象的列表)


如何将其“迁移”到Java?我可以使用枚举或其他集合类型执行此操作吗?我希望能为这些事情提供一个好的链接。感谢您的帮助

org.apache.commons.collections.CollectionUtils有一个union方法,可以从2个集合创建一个集合


以下是链接:

org.apache.commons.collections.CollectionUtils有一个union方法,它从2个集合创建一个集合


以下是链接:

org.apache.commons.collections.CollectionUtils有一个union方法,它从2个集合创建一个集合


以下是链接:

org.apache.commons.collections.CollectionUtils有一个union方法,它从2个集合创建一个集合


下面是链接:

如果这两种类型之间唯一常见的超类型是
Object
,则使用

List<Object> union = new ArrayList<Object>();
union.addAll(collectionOfSth);
union.addAll(collectionOfSthElse);
List union=new ArrayList();
union.addAll(集合FSTH);
union.addAll(收集本文件);
如果您想要的是一个集合,则可以对
Set
执行相同的操作


请注意,这将创建一个副本,而不是两个集合上的视图。如果您想要的是两个集合的并集视图,请查看番石榴,或者。

如果两个类型之间唯一常见的超类型是
Object
,则使用

List<Object> union = new ArrayList<Object>();
union.addAll(collectionOfSth);
union.addAll(collectionOfSthElse);
List union=new ArrayList();
union.addAll(集合FSTH);
union.addAll(收集本文件);
如果您想要的是一个集合,则可以对
Set
执行相同的操作


请注意,这将创建一个副本,而不是两个集合上的视图。如果您想要的是两个集合的并集视图,请查看番石榴,或者。

如果两个类型之间唯一常见的超类型是
Object
,则使用

List<Object> union = new ArrayList<Object>();
union.addAll(collectionOfSth);
union.addAll(collectionOfSthElse);
List union=new ArrayList();
union.addAll(集合FSTH);
union.addAll(收集本文件);
如果您想要的是一个集合,则可以对
Set
执行相同的操作


请注意,这将创建一个副本,而不是两个集合上的视图。如果您想要的是两个集合的并集视图,请查看番石榴,或者。

如果两个类型之间唯一常见的超类型是
Object
,则使用

List<Object> union = new ArrayList<Object>();
union.addAll(collectionOfSth);
union.addAll(collectionOfSthElse);
List union=new ArrayList();
union.addAll(集合FSTH);
union.addAll(收集本文件);
如果您想要的是一个集合,则可以对
Set
执行相同的操作


请注意,这将创建一个副本,而不是两个集合上的视图。如果您想要的是两个集合的并集视图,那么请查看番石榴,或者。

您可以使用番石榴进行以下操作:

final Collection<T> col1  = ...;
final Collection<T> col2  = ...;
final Iterable<T> combined = Iterables.concat(col1, col12);
final col1=。。。;
最终收集col2=。。。;
最终可比组合=可比混凝土(col1、COL2);

你可以用番石榴来做这个:

final Collection<T> col1  = ...;
final Collection<T> col2  = ...;
final Iterable<T> combined = Iterables.concat(col1, col12);
final col1=。。。;
最终收集col2=。。。;
最终可比组合=可比混凝土(col1、COL2);

你可以用番石榴来做这个:

final Collection<T> col1  = ...;
final Collection<T> col2  = ...;
final Iterable<T> combined = Iterables.concat(col1, col12);
final col1=。。。;
最终收集col2=。。。;
最终可比组合=可比混凝土(col1、COL2);

你可以用番石榴来做这个:

final Collection<T> col1  = ...;
final Collection<T> col2  = ...;
final Iterable<T> combined = Iterables.concat(col1, col12);
final col1=。。。;
最终收集col2=。。。;
最终可比组合=可比混凝土(col1、COL2);


这是关于union集合的泛型类型的问题,还是您只是问如何创建包含其他两个集合内容的集合?做某事和他们共享一个共同的超类或接口而不是对象吗?用另外两个集合的内容创建一个集合对我来说会很好。就Sth和SSELE而言,在我在C#中所做的工作中,Sth是接口、SSELE和抽象类。现在,当我想使用它们时,它们共享对象。这是关于union集合的泛型类型的问题,还是您只是问如何创建包含其他两个集合内容的集合?做某事和他们共享一个共同的超类或接口而不是对象吗?用另外两个集合的内容创建一个集合对我来说会很好。就Sth和SSELE而言,在我在C#中所做的工作中,Sth是接口、SSELE和抽象类。现在,当我想使用它们时,它们共享对象。这是关于union集合的泛型类型的问题,还是您只是问如何创建包含其他两个集合内容的集合?做某事和他们共享一个共同的超类或接口而不是对象吗?用另外两个集合的内容创建一个集合对我来说会很好。就Sth和SSELE而言,在我在C#中所做的工作中,Sth是接口、SSELE和抽象类。现在,当我想使用它们时,它们共享对象。这是关于union集合的泛型类型的问题,还是您只是问如何创建包含其他两个集合内容的集合?做某事和他们共享一个共同的超类或接口而不是对象吗?用另外两个集合的内容创建一个集合对我来说会很好。就Sth和SSELE而言,在我在C#中所做的工作中,Sth是接口、SSELE和抽象类。现在,当我想使用它们时,它们共享对象。我明白了……但如果该列表有两个列表,例如
list
list
,会有什么区别呢
addAll
在这种情况下似乎有效,对吧?我不明白你在问什么。你是否在问是否可以创建一个列表列表?是的。这不是和你给我看的例子一样吗?不是。我给的例子创建了一个包含两个集合的所有元素的列表。i、 [a,b]+[c,d]变成[a,b,c,d]。列表列表将包含两个元素:第一个列表和第二个列表