Java 将 Set<Set<String>> 转换为 List<List<String>>

标签 java list collections set

在 Java 中,我无法从 Set<Set<String>> 进行转换到 List<List<String>>然后用 Set<Set<String>> 的内容填充此列表

这是我的代码:

Set<Set<String>> treeComps = compExtractor.transform(forest); // fine
List<List<String>> components = new List<List<String>>();     // does not work
components.addAll(treeComps);                                 // does not work

最佳答案

你不能实例化一个List接口(interface)的实例,你需要使用像ArrayList这样的实现之一。然后你可以在 treeComps 中迭代外部集合,为每个内部集合创建一个新的 ArrayList,在这个 ArrayList 上调用 addAll,然后将列表添加到组件。

List<List<String>> components = new ArrayList<List<String>>();
for( Set<String> s : treeComps )
{
  List<String> inner = new ArrayList<String>();
  inner.addAll( s );
  components.add( inner );
}

关于Java 将 Set<Set<String>> 转换为 List<List<String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981274/

相关文章:

java - 将集合和列表合并到 HashMap

java - Java 中的收缩数组保持数字分布

Java 8 - 流意识形态

collections - 实体集合的 IList 与 IEnumerable

java - 枚举映射和流

java - 从服务器获取数据

java - 关于Spring框架中的AnnotationConfigApplicationContext

Python无法进行矩阵求和

java - 在 ACTION_GET_CONTENT Intent 之后有时不会调用 OnActivityResult

java - 无法使用上下文 :property-placeholder (Spring) 获取属性