Мне удается создать таблицу поиска с 1 ключом и 2 значениями:
public static Map<String, Map.Entry<String, String>> myMap;
myMap= new HashMap<String, Map.Entry<String, String>>();
myMap.put("key 1", new AbstractMap.SimpleEntry<String, String>(" value 1.1", "value 1.2"));
myMap.put("key 2", new AbstractMap.SimpleEntry<String, String>(" value 2.1", "value 2.2"));
// and so on...
// retrieve the key, values
Map.Entry<String, String> pair;
for (String key : myMap.keySet() ) {
pair = oidMap.get(key);
value1= pair.getKey();
value2= pair.getValue();
///use the key, value1, value2 as needed
}
Но когда я попытался расширить это до 4 значений, я получил кучу ошибок, которые я выяснил, что Вход ограничен только 2 значениями!
public static Map<String, Map.Entry<String, String, Float, String>> myMap;
myMap= new HashMap<String, Map.Entry<String, String, Float, String>>();
Итак, пожалуйста, как сделать что-то похожее на 1 ключ и 4 значения?
Я не могу расширить это, объявив внутренний map.entry для второго аргумента первой карты. Entry, потому что в этой точке первая строка больше не является уникальной, я имею в виду, что все аргументы Map.Entry> могут повторяться, ни один не может быть используется в качестве ключа.
И вам, ребята, не нужно идти по пути, который я выбрал.
Вы можете предоставить любое решение / структуру данных, которая позволит мне хранить и извлекать 3 значения в виде строк и одно значение с плавающей запятой, все из которых связаны с ключом в виде строки.
С наилучшими пожеланиями,