首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从多维数组中删除重复项

多维数组是一个包含其他数组的数组,其中每个数组可以是不同长度的子数组。删除多维数组中的重复项可以通过以下步骤完成:

  1. 遍历多维数组的每个子数组。
  2. 使用一个哈希表(HashMap)来存储已经出现过的子数组。
  3. 对于每个子数组,将其转换为字符串并作为哈希表的键进行查找。
  4. 如果哈希表中已存在该键,则说明该子数组是重复的,可以将其从多维数组中删除。
  5. 如果哈希表中不存在该键,则将该子数组添加到哈希表中,并继续遍历下一个子数组。
  6. 完成遍历后,多维数组中的重复项已被删除。

以下是一个示例代码实现(使用Java语言):

代码语言:txt
复制
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class MultiDimensionalArray {
    public static void main(String[] args) {
        // 示例多维数组
        List<List<Integer>> multiArray = new ArrayList<>();
        List<Integer> subArray1 = new ArrayList<>();
        subArray1.add(1);
        subArray1.add(2);
        subArray1.add(3);
        multiArray.add(subArray1);

        List<Integer> subArray2 = new ArrayList<>();
        subArray2.add(4);
        subArray2.add(5);
        subArray2.add(6);
        multiArray.add(subArray2);

        List<Integer> subArray3 = new ArrayList<>();
        subArray3.add(1);
        subArray3.add(2);
        subArray3.add(3);
        multiArray.add(subArray3);

        // 删除重复项
        multiArray = removeDuplicates(multiArray);

        // 输出结果
        for (List<Integer> subArray : multiArray) {
            for (Integer num : subArray) {
                System.out.print(num + " ");
            }
            System.out.println();
        }
    }

    private static List<List<Integer>> removeDuplicates(List<List<Integer>> multiArray) {
        HashMap<String, List<Integer>> map = new HashMap<>();
        List<List<Integer>> result = new ArrayList<>();

        for (List<Integer> subArray : multiArray) {
            String key = subArray.toString();
            if (!map.containsKey(key)) {
                map.put(key, subArray);
                result.add(subArray);
            }
        }

        return result;
    }
}

运行以上代码,将输出如下结果:

代码语言:txt
复制
1 2 3 
4 5 6 

通过使用哈希表来存储已出现过的子数组,我们成功删除了多维数组中的重复项。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券