首页 > 解决方案 > 如何在 JAVA 中将 Pair 转换为二维数组?

问题描述

有没有更简单的方法可以将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;
  }

标签: javaarrays

解决方案


Streams:

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

顺便说一句,与其使用 javafxPair类,不如使用更标准的java.util.AbstractMap.SimpleEntry类。


推荐阅读