Java 如何转换数组中的嵌套ArrayList?
我必须将ArrayList中的ArrayList转换为ArrayJava 如何转换数组中的嵌套ArrayList?,java,arrays,arraylist,Java,Arrays,Arraylist,我必须将ArrayList中的ArrayList转换为Array List<List<TockaXY>> clustersPorazdeljeni = new ArrayList<>(centers.size()); 但这些不会转换嵌套零件。据我所知,现在是数组列表。那么,是否可以从嵌套的ArrayList中获取数组?您可以使用flatMap: List<List<TockaXY>> clustersPorazdeljeni = ne
List<List<TockaXY>> clustersPorazdeljeni = new ArrayList<>(centers.size());
但这些不会转换嵌套零件。据我所知,现在是数组列表。那么,是否可以从嵌套的ArrayList中获取数组?您可以使用flatMap:
List<List<TockaXY>> clustersPorazdeljeni = new ArrayList<>();
TockaXY[] flattened = clustersPorazdeljeni.stream()
.flatMap(x -> x.stream())
.toArray(x -> new TockaXY[0]);
List clustersPorazdeljeni=new ArrayList();
TockaXY[]flatted=clustersPorazdeljeni.stream()
.flatMap(x->x.stream())
.toArray(x->new TockaXY[0]);
可以使用Java流和:
List clustersPorazdeljeni=new ArrayList();
TockaXY[]strings=clustersPorazdeljeni.stream()
.flatMap(集合::流)
.toArray(TockaXY[]::新的);
flatMap()有线性替代方案:
请阅读:。回答你的问题:是的,这是可能的。
List<List<TockaXY>> clustersPorazdeljeni = new ArrayList<>();
TockaXY[] flattened = clustersPorazdeljeni.stream()
.flatMap(x -> x.stream())
.toArray(x -> new TockaXY[0]);
List<List<TockaXY>> clustersPorazdeljeni = new ArrayList<>();
TockaXY[] strings = clustersPorazdeljeni.stream()
.flatMap(Collection::stream)
.toArray(TockaXY[]::new);
List<List<TockaXY>> clustersPorazdeljeni = new ArrayList<>();
List<TockaXY> flatArray = new ArrayList<>();
clustersPorazdeljeni.forEach(flatArray::addAll);
TockaXY[] arrayOfClusters = flatArray.toArray(new TockaXY[0]);
TockaXY[] arrayOfClusters = clustersPorazdeljeni.stream().flatMap(Collection::stream).toArray(TockaXY[]::new);