将列表转换为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对象并将其添加到列表中来重新创建初始列表。重要的是,在两种方法之后,我需要使第二种方法的输出列表与第一种方法的输入列表完全相同。