java - 如何访问 ArrayListMultiMap 中的单个 ArrayList
问题描述
我想从 ArrayListMultiMap 中的 ArrayList 中获取一个条目。我正在使用 Google Guava ArrayListMultimap,每个键都与多个数组列表相关联。例如,对于 key1,我有 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);
印刷
[[[名词,一组页面。],[名词,以印刷或电子形式出版的书面作品。],[动词,安排某人在飞机上的座位。],[动词,安排某事在特定日期。]]]
但我只需要它打印[名词,一组页面。]
解决方案
就这样吧——
ArrayList<String> list = (ArrayList<String>)wordAsKey.get(word);
String result = list.get(index);
System.out.println(result);
您可以检查List中是否存在特定的String,然后见下文;
if(list.contains("search")){...}
推荐阅读
- migration - EntityFrameworkCore - 类和实体的区别
- c# - 这些正则表达式验证和异常有什么问题?
- javascript - 在生产中使用 Babel 的正确方法
- android - 图像随不同设备改变位置
- python - Python正则表达式替换字符串的一部分
- ios - 使用 UICollectionViewFlowLayout 的 UICollectionView 使单元格居中和未对齐
- scala - 在 Scala 中导入对象的方法
- typescript - 避免在 TypeScript 数组构造中重复方法调用
- java - 子程序总是返回 -1 值,我该如何重新排列以使其发挥作用?
- tensorflow - 在 keras.sequential 模型中使用 keras.layers.Add()