【问题标题】:Flattening an Array in Java [closed]在 Java 中展平数组 [关闭]
【发布时间】:2021-12-27 23:55:07
【问题描述】:

如何将我在类顶部但未在方法内部声明的这个数组展平为方法内部的单个字符串?

private int[][]     numbers;

【问题讨论】:

  • 我不知道 Java 中有一个“扁平化”方法。你必须自己写。
  • 你在寻找多维数组的字符串表示吗?还是尝试展平为单个数组?
  • '将一个 int 数组的数组扁平化为一个字符串' 只是不是一件事。你已经想象了一个术语和一个含义。这很好,但是除非您在问题中解释这一点,否则没有人可以回答这个问题。例如,显示一个示例 int[][],然后显示您想要将其转换为的字符串。

标签: java arrays string multidimensional-array flatten


【解决方案1】:

我把二维数组放在一个字符串中,我就是这样做的:-) 输出:325325

    public static void main(String[] args) {
    int[][]  numbers =  {{3, 2, 5},
                        {3, 2, 5}};

    StringBuilder myString = new StringBuilder();
    for(int i = 0; i < numbers.length; i++) {
        for(int j = 0; j < numbers[i].length; j++) {
            myString.append(numbers[i][j]);
        }
    }

    System.out.println(myString);
}

【讨论】:

    【解决方案2】:

    试试这个:

    int[] flattened = Arrays.stream(numbers).flatMapToInt(Arrays::stream).toArray();
    

    或展平为字符串:

    String str = Arrays.stream(numbers)
      .flatMapToInt(Arrays::stream)
      .mapToObj(String::valueOf)
      .collect(Collectors.joining(", "));
    

    这用逗号分隔数字,但你可以选择任何你喜欢的。

    【讨论】:

      【解决方案3】:

      可以使用Arrays.deepToString方法将二维数组转换为字符串:

      String str = Arrays.deepToString(numbers);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-10-29
        • 2018-08-30
        • 1970-01-01
        • 2018-12-28
        • 1970-01-01
        • 2022-06-17
        • 2018-09-29
        相关资源
        最近更新 更多