如何使用 2 列作为过滤器从多维数组的行中获取特定值

问题描述 投票:0回答:1

我有一个这样的数组

 String[][] array = {{"A", "1"},
                     {"B", "1"},
                     {"C", "2"},
                     {"D", "2"},
                     {"E", "1"}};

而且我不知道如何使用第二列值获取两个字符串

string one : A,B,E    for 1
string two : C,D      for 2
java multidimensional-array
1个回答
0
投票

您可以在这里使用哈希映射方法。如果您不知道,它是一个存储键和值对的数据结构(例如 - A:苹果,B:球等)。

Map<String, StringBuilder> resultMap = new HashMap<>();

        for (String[] entry : array) {
            String key = entry[1];
            resultMap.putIfAbsent(key, new StringBuilder());
            resultMap.get(key).append(entry[0]).append(",");
        }

        for (Map.Entry<String, StringBuilder> entry : resultMap.entrySet()) {
            String key = entry.getKey();
            String value = entry.getValue().toString();
            if (value.endsWith(",")) {
                value = value.substring(0, value.length() - 1);
            }
            System.out.println("string " + key + ": " + value);

您可能想根据您所需的格式更改代码。

© www.soinside.com 2019 - 2024. All rights reserved.