首页 > 解决方案 > 循环遍历数组的各个部分

问题描述

正在寻找我是否可以在问题上获得一些帮助。所以我目前正在尝试遍历二维数组的各个部分,但不确定如何去做。

基本上我将拥有一个 4x4 或 9x9 或 25x25 的数组,并且我需要能够遍历块并检查重复项。

例如 4x4,我将迭代 4 个 2x2 数组。9x9 将是 9 个 3x3 阵列等。

尝试了一段时间但没有运气我试过这个

任何帮助都会很棒,干杯

标签: javaarraysloops

解决方案


如果数组始终是 2d,那么您可以执行以下操作:

import java.util.ArrayList;
import java.util.List;

class Main {
  public static void main(String[] args) {

      // Initialize the 2d array
      int size = 3;
      int[][] table = new int[size][size];
      for (int row = 0; row < size; row ++)
          for (int col = 0; col < size; col++)
              table[row][col] = (int) (20.0 * Math.random());

      // Scan for duplicates
      List seen = new ArrayList();
      List duplicates = new ArrayList();

      for (int row = 0; row < size; row ++) {
          for (int col = 0; col < size; col++) {
            boolean exists = seen.contains(table[row][col]);
            if (!exists) {
              seen.add(table[row][col]);
              continue;
            }
            duplicates.add(table[row][col]);
          }
      }

      System.out.println(seen);
      System.out.println (duplicates);
  }
}

推荐阅读