java - 将动态数据插入二维字符串数组

标签 java arrays arraylist

我正在尝试为一家商店制作目录。为此,我有一个二维数组:

String childElements[][] = new String[][];

我想将数据添加到该数组中。数据是另一个数组:

ArrayList<String> names = new ArrayList<String>();

names可能会根据我收到的输入而有所不同。

例如,如果是家具店,类别将为 Tables , Chairs等等

我将类别存储在另一个数组中,如下所示:

String groupElements[] = {"Tables", "Chairs"};

names包含:{"Wood", "Metal", "4-seater", "6-seater"}

所以,我想要 childElements数组来反射(reflect)它,如下所示:

childElements = ["Chairs"]["Wood", "Metal"]
                ["Tables"]["4-seater"]["6-seater"]

那么如何插入数据来满足我的需求?

我想坚持使用数组数组而不是 listhashmap因为架构取决于此。

最佳答案

正如 @Dude 建议使用 HashMap,它将帮助您更轻松地组织事物。因此,在您的情况下,类别将是键,值将是数组。

    // create map to store
    Map<String, List<String>> map = new HashMap<String, List<String>>();


    // create list one and store values
    List<String> chairs = new ArrayList<String>();
    chairs.add("Wood");
    chairs.add("Metal");

    // create list two and store values
    List<String> tables = new ArrayList<String>();
    tables.add("4-seater");
    tables.add("6-seater");

    // put values into map
    map.put("Chairs", chairs);
    map.put("Tables", tables);

    // iterate and display values
    System.out.println("Fetching Keys and corresponding [Multiple] Values");
    for (Map.Entry<String, List<String>> entry : map.entrySet()) {
        String key = entry.getKey();
        List<String> values = entry.getValue();
        System.out.println("Key = " + key);
        System.out.println("Values = " + values);
    }

关于java - 将动态数据插入二维字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30254543/

相关文章:

java - 如何从 List<> 中删除项目?

java - 如何检查一个对象是否是java中arraylist中的枚举类型?

Java 通用矩阵创建

java - 选择一个随机项目但投票分数存在偏差?

php - 引用 - 这个错误在 PHP 中是什么意思?

Java Swing GUI 未显示使用多个类

c - 如何获得二维数组的总和?

javascript `localeCompare` 返回不同的值

java - 快速多体重力算法?

java - 带有 Statement.RETURN_GENERATED_KEYS 的 MySQL 批处理 stmt