当前位置: 首页 > 面试题库 >

如何在Java中将2维数组转换为1维数组

孟胤
2023-03-14
问题内容

我想知道如何将2维数组转换为1维数组。我想出了一些代码,但是它似乎并不起作用。有人可以帮帮我吗?谢谢。

public class TESTER1 {

    /**
     * @param args
     */

    static String[][] data = new String[][] {{"Dum","Dumer","Dumbest"}};

    public static void main(String[] args) {

        convertData(data);
    }

    public static void convertData(String[][]data) {
        String[] toReturn = new String[data.length];
        for(int i = 0;i<data.length;i++) {
            for(int j = 0;j<3;j++){
                toReturn[i] = data[i][j];
            }
        }
        for(String s:toReturn) {
            System.out.println(s);
        }
    }
}

[edit]非常感谢。是否可以将String [] []中的每一行转换为String []中的索引,例如,如果我们转换String []
[](以上代码),那么当我打印出array [0]时,它应该打印哑巴,哑巴,哑巴[编辑]


问题答案:
public static String[] flatten(String[][] data) {
    ArrayList<String> list = new ArrayList<String>();

    for(int i = 0; i < data.length; i++) {
        for(int j = 0; j < data[i].length; j++){
            list.add(data[i][j]);
        }
    }

    return list.toArray(new String[0]);
}

或一次添加整行:

    for(int i = 0; i < data.length; i++) {
        list.addAll( Arrays.asList(data[i]) );
    }

编辑: 从对我的答案的评论看来这就是OP想要的(即将2d数组的每一行转换为它的某些字符串表示形式):

public static String[] rowsToString(String[][] data) {
    ArrayList<String> list = new ArrayList<String>();

    for(int i = 0; i < data.length; i++) {
        String row = Arrays.toString(data[i]);
        list.add( row.substring(1, row.length()-1) );
    }

    return list.toArray(new String[0]);
}


 类似资料:
  • 问题内容: 我已经有了用于将一维二维转换为一维二维的代码,但是我不知道如何将其转换。这是我的代码: 问题答案: 您正在寻找类似的东西: 与以下内容相同: 但试图帮助进一步解释这个概念。

  • 问题内容: 我有这种数组 我需要将其转换为一维数组。我怎样才能做到这一点? 例如这样 任何内置函数的php均可用于此数组转换? 问题答案: 对于您有限的用例,可以这样做: 当子数组对此有很多条目时,可以将其更一般化:

  • 问题内容: 我想通过指定2D数组中的列数将一维数组转换为二维数组。可能会像这样工作: numpy是否具有与我的虚构函数“ vec2matrix”相似的功能?(我知道您可以像2D数组一样索引1D数组,但这不是我拥有的代码中的选项- 我需要进行此转换。) 问题答案: 您要阵列。 其中,根据输入数组的大小推断新维的大小。

  • 我正在学习Java编程。 我有一个任务,需要将二维数组转换为地图 我写了一个方法: 但我不明白为什么它不能转换字符。输入: 请告诉我,我做错了什么

  • 这行代码给我抛出了异常:线程“main”中的异常java.lang.IndexOutofBoundsExc的索引:5,大小:5 我试图将数组列表转换成多维数组。

  • 本文向大家介绍将二维数组转为一维数组的2种方法,包括了将二维数组转为一维数组的2种方法的使用技巧和注意事项,需要的朋友参考一下 如何将下面的二维数组转为一维数组。 第一种方法: 第二种方法: 以上两种解法print_r($names);后的结果为: 注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id'); print_r