gpt4 book ai didi

java - 使用 hashmap java 返回字典

转载 作者:行者123 更新时间:2023-11-30 07:32:20 25 4
gpt4 key购买 nike

我对 java 很陌生,有一个关于在 hashmap 的帮助下返回字典的问题。问题是我有字符串数组,比如说有四个名称,我必须根据字符串长度迭代和区分名称,如果键不匹配,我必须创建其他列表,如果匹配,我必须简单地附加字符串。

基本上预期的输出应该是这样的

3:kel
4:john,aron
5:sonny
6:abraham

我尝试了一点,但卡住的代码看起来像这样

public static void main(String arg[])
{
HashMap<integer, ArrayList<String>> map = new HashMap<integer, ArrayList<String>>();

ArrayList<String> namelist = new ArrayList<String>();
obj.add("john");
obj.add("kel");
obj.add("abraham");
obj.add("sonny");
obj.add("aron");

map.put(3, namelist);


for (int i = 0; i < namelist.size(); i++) {

String element = namelist[i];
String nextElement = elements[i+1];
}

}

最佳答案

HashMap 上的数据类型并不理想。您想要HasMap<Integer, List<String>> ,尽管如果在将名称用作键之前对名称的整数长度调用 toString,则可以使用 String 作为键。然后,循环遍历 obj 列表并使用 obj[i].length() 检查您所在的字符串的长度 ( map.containsKey(obj[i].length()) ) 是否存在于 map 中。 。如果它确实存在,您将 map.get(obj[i].length()).add(obj[i]) ,如果没有,您将创建一个包含 obj[i] 的新 ArrayList并使用 .put HashMap 上的方法来添加它。

在您发布的代码中,first似乎没有定义。我会将 obj 重命名为 nameList 或更具描述性的名称。它不是一个对象。

关于java - 使用 hashmap java 返回字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923451/

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