Как получить доступ к одному ArrayList в ArrayListMultiMap - PullRequest
0 голосов
/ 23 сентября 2019

Я хотел бы получить запись из ArrayList в ArrayListMultiMap.Я использую Google Guava ArrayListMultimap, и каждый ключ связан с несколькими списками массивов.Например, для ключа 1 у меня есть 4 списка массивов, и каждый ArrayList содержит 2 записи.Мне нужно иметь возможность получить доступ к определенному списку ArrayList и получить оттуда запись, поэтому мой вопрос: как мне это сделать?Каждый раз, когда я пытаюсь получить доступ к значению, связанному с ключом, он печатает все 4 списка массивов, но мне нужен только один.

Multimap<String, ArrayList<String>> wordAsKey = ArrayListMultimap.create();

for (DictionaryEntries dict : DictionaryEntries.values()) {
        ArrayList<String> list = new ArrayList<>();
        String key = dict.getKey();
        String partOfSpeech = dict.getPartOfSpeech();
        String definition = dict.getDefinition();
        list.add(partOfSpeech);
        list.add(definition);
        wordAsKey.put(key, list);
    }

ArrayList<String> resultList = new ArrayList<>();
resultList.add(wordAsKey.get(word).toString());
System.out.println(resultList);

Отпечатки

[[[существительное, набор страниц.], [Существительное, письменное произведение, опубликованное в печатном или электронном виде.], [Глагол, организовать кого-либоиметь место в самолете.], [глагол, чтобы организовать что-то в определенную дату.]]]

Но мне нужно, чтобы это напечатало только [существительное, набор страниц.]

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019

Просто сделайте это так -

ArrayList<String> list = (ArrayList<String>)wordAsKey.get(word);
String result = list.get(index);
System.out.println(result);

И вы можете проверить, существует ли конкретная строка или нет в списке, а затем см. Ниже;

if(list.contains("search")){...}
0 голосов
/ 23 сентября 2019

Вы можете попробовать: получить значение индекса

int index = 0;
resultList.add(wordAsKey.get(word).get(index).toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...