java8压缩,如何使用Java 8压缩多个列表?
Given :
List a = Arrays.asList(1,2,3);
List b = Arrays.asList(1,2,3);
List c = Arrays.asList(1,2,3);
List d = Arrays.asList(1,2,3);
List> sample = Arrays.asList(a,b,c,d);
How can I get this result with java 8?
[(1,1,1,1),(2,2,2,2),(3,3,3,3)]
解決方案
/**
* Zips lists. E.g. given [[1,2,3],[4,5,6]], returns [[1,4],[2,5],[3,6]].
* @param listOfLists an N x M list
* @returns an M x N list
*/
static List> zip(List> listOfLists) {
int size = listOfLists.get(0).size();
List> result = new ArrayList<>(size);
for (int i = 0; i < size; ++i)
result.add(
listOfLists.stream()
.map(list -> list.get(i))
.collect(toList()));
return result;
}
總結
以上是生活随笔為你收集整理的java8压缩,如何使用Java 8压缩多个列表?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java手机杀毒_Android项目实战
- 下一篇: java美元兑换,(Java实现) 美元