有没有更简单的方法可以将 Pair 转换为二维数组?

这是我尝试过的:

public int[][] func() {
      List<Pair<Integer, Integer>> pairs = new ArrayList<>();

      //this is example value
      pairs.add(new Pair<>(1,2));
      pairs.add(new Pair<>(2,3));
      pairs.add(new Pair<>(3,4));

      //I want to make array same size of pair's
      int[][] arr = new int[pairs.size()][2];

      for(int i =0 ; i < pairs.size(); i++) {
          arr[i][0] = pairs.get(i).getKey();
          arr[i][1] = pairs.get(i).getValue();
      }

      return arr;
  }

最佳答案

使用 Stream s:

int[][] arr = pairs.stream()
                   .map(pair -> new int[] {pair.getKey(),pair.getValue()})
                   .toArray(int[][]::new);

顺便说一句,不要使用 javafx Pair 类,也许使用更标准的 java.util.AbstractMap.SimpleEntry 类会更好。

关于java - 如何在 JAVA 中将 Pair 转换为二维数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59374952/

10-12 02:46