Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将列表转换为2d数组,然后返回java_Java_Arrays_List_Type Conversion - Fatal编程技术网

将列表转换为2d数组,然后返回java

将列表转换为2d数组,然后返回java,java,arrays,list,type-conversion,Java,Arrays,List,Type Conversion,我正在尝试将列表转换为二维数组,然后在对二维数组执行一些操作后,我想按初始顺序将其转换回列表。我在这个程序上做了很多工作,现在我完全看不到我遗漏了什么,但是最后一个方法的结果与初始列表根本不匹配 我用于将列表转换为二维数组的方法如下: public static Map<String, long[][]> convertListToMatrix(List<YUV> yuvList, int width, int height) { Map<String, l

我正在尝试将列表转换为二维数组,然后在对二维数组执行一些操作后,我想按初始顺序将其转换回列表。我在这个程序上做了很多工作,现在我完全看不到我遗漏了什么,但是最后一个方法的结果与初始列表根本不匹配

我用于将列表转换为二维数组的方法如下:

public static Map<String, long[][]> convertListToMatrix(List<YUV> yuvList, int width, int height) {
    Map<String, long[][]> imageMatrix = new HashMap<String, long[][]>();
    long[][] yMatrix = new long[height][width];
    long[][] uMatrix = new long[height][width];
    long[][] vMatrix = new long[height][width];
    for(int i = 0; i < height; i++){
        for(int j = 0; j < width; j++){
            YUV yuvPixel = yuvList.get((j * height) + i);
            yMatrix[i][j] = yuvPixel.getY();
            uMatrix[i][j] = yuvPixel.getU();
            vMatrix[i][j] = yuvPixel.getV();
        }
    }
    imageMatrix.put("y", yMatrix);
    imageMatrix.put("u", uMatrix);
    imageMatrix.put("v", vMatrix);
    return imageMatrix;
}
public静态映射convertListToMatrix(列表yuvList、整型宽度、整型高度){
Map imageMatrix=新HashMap();
长[][]Y矩阵=新长[高][宽];
长[][]uMatrix=新长[高][宽];
长[][]vMatrix=新长[高][宽];
对于(int i=0;i
对于要列出的矩阵,我使用以下内容:

public static List<YUV> convertMatrixToYUVList(long[][] yMatrix, long[][] uMatrix, long[][] vMatrix, int width, int height) {
    List<YUV> yuvList = new ArrayList<YUV>();
    for(int i = 0; i < height; i++)
        for(int j = 0; j < width; j++)
            yuvList.add(new YUV(yMatrix[i][j], uMatrix[i][j], vMatrix[i][j]));
    return yuvList;
}
public static List convertMatrixToYUVList(长[][]yMatrix,长[][]uMatrix,长[][]vMatrix,整型宽度,整型高度){
List yuvList=new ArrayList();
对于(int i=0;i

有人能看出我在这方面的错误吗?

将列表转换为2d数组的逻辑是什么?我只需要将其作为2d数组作为我正在使用的其他方法的输入。您能提供输入和输出值吗?这真是太不干净了,太晚了,我有点累了。是的,我应该提供更多的信息。第一个方法是将YUV列表作为输入(这是一个由3个长属性(y、v和u)组成的类)。通过运行第一个方法,我试图将该列表转换为每个属性的宽度x高度维度的3 x 2d数组(因此y为2d数组,u为2d数组,u为2d数组).第二种方法,我想通过从2d数组创建YUV对象并将其添加到列表中来重新创建初始列表。重要的是,在两种方法之后,我需要使第二种方法的输出列表与第一种方法的输入列表完全相同。