【问题标题】:How to turn an Array in nested ArrayList (ArrayList of ArrayList)?如何在嵌套的ArrayList(ArrayList的ArrayList)中打开一个数组?
【发布时间】:2020-01-10 05:28:02
【问题描述】:

我不得不转嵌套ArrayList

 List<List<TockaXY>> clustersPorazdeljeni = new ArrayList<>(center.size()) 

在 Array 中,在这个网站的好人的帮助下,女巫现在很清楚了:

TockaXY[] arrayOfClusters = clustersPorazdeljeni.stream().flatMap(Collection::stream).toArray(TockaXY[]::new);

但我也必须反其道而行之。那么如何从 arrayOfClusters 返回一个嵌套的 ArrayList 像

List<List<TockaXY>> newClustersPorazdeljeni 

?

【问题讨论】:

  • 如果你不知道每个 ArrayList 的长度就不能。
  • 请注意,我们不知道原始嵌套列表的外观。如果您有嵌套列表,如[[foo1,foo2],[foo3]][[foo1],[foo2,foo3]],在将它们转换为一维数组后,您将从 both 中得到[foo1, foo2, foo3],因此我们不能简单地将此类数组转换回原始数组列表,因为我们无法确定 哪个 版本的嵌套列表用于创建该数组。
  • 目前您的问题看起来像XY problem,在提供更多详细信息之前,我们无法针对您的具体情况为您提供正确答案。我们只能根据一些可能不正确的假设为您提供猜测的答案。
  • public TockaXY(float x, float y) { this.x = x;这个.y = y; }
  • List> clusters = new ArrayList(centers.size()); for (int i = 0; i ());

标签: java arrays arraylist flatmap


【解决方案1】:

你今天问了反之亦然的问题。 How to convert nested ArrayList in Array?

TockaXY[] arrayOfClusters 这是一个平面数组,没有标记如何将其拆分为几个数组。也许您应该转换到不在 TockaXY[] 中的另一个数据结构,以映射 en 示例。

【讨论】:

  • 是的!那是我。诀窍是我必须将嵌套的 ArrayList 转换为 Array 才能在 MPI.COMM_WORLD.Scatter 中传递它。我有一个方法调用另一个使用 ArrayList 的方法。但是要通过 MPI.COMM_WORLD.Gather 传回,我再次需要 Array。我想我会将使用 ArrayList 的方法重写为不同的数据结构。感谢您的时间!欣赏!
猜你喜欢
  • 2021-01-20
  • 1970-01-01
  • 2017-10-23
  • 2021-02-21
  • 2020-06-09
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
  • 2019-05-26
相关资源
最近更新 更多