Какой самый простой и удобный способ реализовать решение для приведенной ниже проблемы - PullRequest
0 голосов
/ 06 декабря 2018

Мне даны данные для разных автомобилей (год, модель) в виде автомобиля, рассмотрим 2 потока данных, поступающих в мою систему.

Входные данные:

("2018", "i20") ("2018", "zen") ("2016", "alto") ("2015", "k10") ("2014", "ertiga") («2016», «i20»)

Что мне нужно сделать, так это то, что когда пользователь вводит действительный ключ, например «2018», в качестве ключевого слова поиска, ему должны отображаться все связанные модели автомобилей в отсортированном порядке дляэтот ключ.

например, в этом случае вывод для "2018" должен быть: [i20, zen]

Я знаю, что в java hashmap не может быть дубликатов ключей, и я также провел некоторые исследованиячто это может быть реализовано с помощью MultiMap, но будет очень признателен за некоторые выводы.

Ответы [ 3 ]

0 голосов
/ 06 декабря 2018

Да, это можно реализовать с помощью com.google.common.collect.Multimap.Попробуйте ниже:

Multimap<String, String> cars = ArrayListMultimap.create();
cars.put("2018", "i20");
cars.put("2018", "zen");
cars.put("2016", "alto");
cars.put("2015", "k10");
cars.put("2014", "ertiga");
cars.put("2016", "i10");
System.out.println(cars.get("2018"));

Если вы не хотите использовать стороннюю библиотеку, вы можете перейти с

Map<String, List<String>>.
0 голосов
/ 06 декабря 2018

Вы можете поместить значения в Map<String, Set<TreeSet>> Где TreeSet сохраняет ваше значение отсортированным

0 голосов
/ 06 декабря 2018

Поместите значения в Map<String, List<String>> и получите список, используя get(String key)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...