gpt4 book ai didi

java - TreeMap> 类型中的方法 put(String, ArrayList) 不适用于参数 (String, boolean)

转载 作者:行者123 更新时间:2023-12-02 00:21:17 24 4
gpt4 key购买 nike

我在这一行遇到错误

tm.put(temp[j],tm.get(temp[j]).add(i));

当我在 eclipse 中编译程序时:

The method put(String, ArrayList<Integer>) in the type TreeMap<String,ArrayList<Integer>> is not applicable for the arguments (String, boolean)

以下是我的代码:

TreeMap<String, ArrayList<Integer>> tm=new TreeMap<String, ArrayList<Integer>>();
String[] temp=folders.split(" |,");
for (int j=1;j<temp.length;j++){

if (!tm.containsKey(temp[j])){
tm.put(temp[j], new ArrayList<Integer>(j));
} else {
tm.put(temp[j],tm.get(temp[j]).add(j));
}
}

文件夹是这样的

folders="0 Jim,Cook,Edward";

我想知道为什么前一个 put 方法没有错误,但只有第二个方法有错误。

最佳答案

ArrayList.add(E)返回 boolean ,你根本无法将它们链接起来。

tm.get(temp[j]).add(j);就足够了,你不需要 put再次。

new ArrayList<Integer>(j)不会给你一个包含一个元素的数组列表,参数是initialCapacity。

然后,您应该声明 tmMap<String, List<Integer>> .

Map<String, List<Integer>> tm=new TreeMap<String, List<Integer>>();
String[] temp=folders.split(" |,");
for (int j=1;j<temp.length;j++){

if (!tm.containsKey(temp[j])){
tm.put(temp[j], new ArrayList<Integer>());
}
tm.get(temp[j]).add(j); // This will change the arraylist in the map.

}

关于java - TreeMap<String,ArrayList<Integer>> 类型中的方法 put(String, ArrayList<Integer>) 不适用于参数 (String, boolean),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10924987/

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