Tag: 多维数组

CompareTo / Sorting字符串和整数的2D数组

好的,所以我现在想出如何通过字符串和整数对2d数组进行排序,但是我不知道如何将它们组合起来。 我有一个2d用户数组,每行有一个用户数据。 数据分别是列的字符串或整数,所以如果我有多个比较方法,例如按名称排序或按电话号码排序,我如何实现初始的2d数组,因为如果我将它声明为字符串,我就无法比较按整数,如果我将其声明为整数,我就不能再通过String进行比较。 我现在使用的是基本的2d排序方法。 final Integer[][] data1 = userlistcopy; Arrays.sort(data1, new Comparator() { @Override public int compare(final Integer[] entry1, final Integer[] entry2) { final Integer time1 = entry1[1]; final Integer time2 = entry2[1]; return time2.compareTo(time1); } }); System.out.println(“====”); for (final Integer[] s : data1) { System.out.println(s[0] + ” ” + s[1]); } 要么 final String[][] […]

arrays的水平变换(2D)

水平和/或垂直翻转图像很简单。 前提是给定一个通过导入图片创建的2D整数数组,我必须创建一个带有int [] []参数的方法,并在返回void之前将其水平翻转。 语法如下: public static void horizontalFlip(int[][] imgArray) { int temp; for (int i = 0; i < imgArray.length; i++) { for (int j = 0; j < imgArray[i].length / 2; j++) { temp = imgArray[i][j]; imgArray[i][j] = imgArray[imgArray.length – 1 – i][j]; imgArray[imgArray.length – 1 – i][j] = temp; } } } […]

Java中的2D数组,由字符索引

除非我弄错了,否则在Java中使用字符值索引数组是合法的,因为这些数组相当于8位数。 但是,以下代码为我生成错误消息: int[][] myArray = new int[256][256]; myArray[‘%’][‘^’] = 25; 有没有办法让这项工作? 编辑 :哇,我真的没有做好复制代码的工作。

从java中的二维数组中获取列

在二维数组中,我可以轻松获取行的数组,如何将列作为数组? 我需要一个适用于对象的解决方案,而不仅仅是原语。 谢谢 int counter = 1; int[][] matrix = new int[9][9]; for (int x = 0; x < matrix.length; x++) { for (int y = 0; y < matrix[0].length; y++) { matrix[x][y] = counter; System.out.print(counter + " "); counter++; } System.out.println(); } for (int x = 0; x < matrix.length; x++) { int[] row […]

反转2d数组的行

昨天我问了一个非常相似的问题,我有点搞砸了。 我需要将一个数组传递给一个方法,在该方法内部,我需要交换周围的行,如果是的话 1 2 3 3 2 1 2 1 3 它需要 3 2 1 1 2 3 3 1 2 使用我现在拥有的代码,它将最后一列正确地交换到第一个列,然后将它放在应该是最后一列的列中。 3 1 2 1 3 2 3 2 1 此外,它需要保持空白,因为我需要修改原始数组,所以我不能将其设置为临时数组,但我可以使用临时整数来存储。 这是我现在的代码,它有点工作 public static void reverseRows(int[][] inTwoDArray) { for (int row = 0; row < inTwoDArray.length; row++) { for (int col = 0; col […]

Java – 向二维数组添加值以及如何查看数组?

我有一个数组(Arr)。 我用值填充points1和point2。 public class Arr { float pointX; float pointY; boolean yesNo; String text; } public Arr points1[]; public Arr points2[]; points1 = new Arr[100]; for (int i = 0; i < 100; i++) points1[i]= new Arr(); for (int j = 0; j < 100; j++) { points1[j].pointX = getFloat; points1[j].pointY = getFloat; points1[j].yesNo = […]

翻转多维数组java

我有一个类创建一个具有所需宽度和高度的字符canvas。 在这个我有一个方法drawLetter()(它基本上改变字符,以便在canvas上出现一个字母(就像非常简单的ASCII艺术) 我有3个其他方法rotateClockwise,flipHorizo​​ntal和flipVertical 旋转和flipHorizo​​ntal我做得很好,他们的工作,但我似乎无法解决我垂直翻转arrays的问题(出于兴趣,我认为我有水平和垂直错误的方式回合但是生病了我尝试的样本在下面完成) 这是我无法解决的问题: 这个: # # # ~ ~ # ~ ~ ~ # ~ ~ ~ ~ ~ ~ 对此: ~ # # # ~ ~ # ~ ~ ~ # ~ ~ ~ ~ ~ 显然它会像我的其他方法一样在for循环中完成,下面我将发布我已经完成的水平方法和顺时针旋转以certificate它不是功课我不能做 void mirrorHorizontally() { char[][]horizontalImage = new char[height][width]; for (int i = 0; i < height […]

Javaarrays效率

我对行动机制并不是100%肯定所以我决定在此发布以进一步澄清。 我正在做一个应该用Java处理大量数据的项目(它必须是Java)。 我希望它尽可能高效。 有效率我的意思是内存和速度计算应首先出现,可读性应该排在第二位。 现在我有两种方法来存储我的数据:创建一个MyObject数组 1) MyObject[][] V = new MyObject[m][n] 或者创建两个int数组: 2) int[][] V = new int[m][n] 3) int[][] P = new int[m][n] 显然, MyObject包含至少两个字段和一些方法。 现在我注意到,在循环遍历MyObject数组以分配值时,我必须调用new ,否则我会得到一个空指针exception。 这意味着第1行中的new是不够的。 考虑到数组也是Java中的对象,为了论证,这是一个比P[i][j]=n更昂贵的操作吗?

对2维数组进行排序

我有一个2D数组,我想根据第一列的内容按降序排序,但是我希望数组保留每一行并在第一列移动时移动第二列。 把它作为一个例子; [2, 5] [4, 18] [1, 7] [9, 3] 将被分类为: [9, 3] [4, 18] [2, 5] [1, 7] 谢谢。

如何查找子arrays在Java中的2D数组中是否有特定的总和?

我试图通过比较源图像和图案图像中存在的像素的平均颜色来解决图像匹配问题。 我已经将这个问题简化为子数组求和问题,但无法找到解决问题的方法。 假设我有一个带有所有正整数的二维arraysARR。 我有一个数字x(这是小图案图像中存在的像素颜色的平均值)。 我只需要在ARR中找到具有精确和x的任何子arrays。 我发现了一个类似的问题,可以通过动态编程来解决。 http://www.geeksforgeeks.org/dynamic-programming-set-27-max-sum-rectangle-in-a-2d-matrix/ 但是,这谈到了找到一个具有最大总和而不是已经给出的总和的子arrays。 所以,如果这是给定的数组。 3 4 8 9 3 2 10 4 2 1 8 1 4 8 0 3 5 2 12 3 8 1 1 2 2 如果给定的总和是19,那么它应该返回此窗口 3 4 8 9 3 2 10 4 2 1 8 1 4 8 0 3 5 2 12 3 […]