[英]Get every nth element of nested lists using Java Streams
这是一个 function ,它将采用嵌套的 ArrayList allLists
,一个索引nth
,并返回每个子列表的第 n 个元素。
例如对于allLists = {{1,2,3}, {4,5,6}, {7,8,9}}
, nth = 1
,function 将返回{2,5,8}
public static String[] getEveryNthElement(ArrayList<ArrayList<String>> allLists, int nth) {
String[] nthList = new String[allLists.size()];
int n = 0;
for (ArrayList<String> sList: allLists) {
if (nth <= sList.size()) {
nthList[n] = (sList.get(nth));
}
n += 1;
}
return nthList;
}
我已经设法得到一个可以打印出来的版本:
group.stream()
.forEach(items -> {
System.out.println(items.get(1)); // prints 2, 5, 8
});
如何将结果收集到数组中?
解决了:
public static String[] getEveryNthElement(ArrayList<ArrayList<String>> allLists, int nth) {
return allLists.stream()
.map(list -> list.get(nth))
.collect(Collectors.toList()
).toArray(new String[0]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.