gpt4 book ai didi

Java - Arraylist/Hash 映射 问题

转载 作者:行者123 更新时间:2023-11-30 03:41:04 24 4
gpt4 key购买 nike

我想创建一个 HashMap ,用于存储当前存储在数组列表中的特定 Activity 对象的标题中的关键字。例如,我将以下 Activity 存储在数组列表中:

Football game - 数组列表中的第一个 Activity 对象 - 因此,这里关键字football 将链接到数组列表中的第一个 Activity 对象,而单词游戏将链接到数组列表中的第一个 Activity 对象。

棒球游戏 - 数组列表中的第二个 Activity 对象 - 所以这里关键字棒球将链接到数组列表中的第一个 Activity 对象,而文字游戏现在将链接到数组列表中的第二个 Activity 对象。

晚餐 - 数组列表中的第三个 Activity 对象

当用户使用关键字“game”进行搜索时,我希望 HashMap 链接数组列表中的 1 和 2,因为它们都有单词 game。我不确定我是否在下面这样做。这是这样做的方法吗?

private ArrayList activities = new ArrayList();

HashMap<ArrayList<Activity>, String> map = new HashMap<>();

map.put(new ArrayList<Activity>(),keyword );


There will be a loop here to add keywords from a tokenized string into activities.

map.get(activities(i)).add(keyword);

最佳答案

您的KeyValue类型似乎颠倒了, Map Javadoc开始,

Interface Map<K,V>

Type Parameters:
K - the type of keys maintained by this map
V - the type of mapped values

而且,您将需要多个 ArrayList引用!假设您有 String key和一个 Activity act你首先要检查 Map.containsKey(Object) key如果它确实使用List否则构建一个新的并将其添加到 map .

String key;
Activity act;
Map<String, List<Activity>> map = new HashMap<>();
List<Activity> list = null;
if (map.containsKey(key)) {
list = map.get(key);
} else {
list = new ArrayList<>();
map.put(key, list);
}
list.add(act);

关于Java - Arraylist/Hash 映射 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26807051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com