我正在尝试使用HashMaps
我有以下代码,但是我做错了我的循环,我将宝马和雷诺6次输入循环导致错误。
错误找不到合适的方法。
package javaapplication16;
import java.util.Arrays;
import java.util.HashMap;
public class JavaApplication16 {
public static void main(String[] args) {
HashMap<Integer, String> hm = new HashMap<Integer, String>();
for (int index = 0; index <=6; index++){
hm.put(index,getcarresults("BMW","Renault"));
}
}
private static CarResults getcarresults(String A, String B){
return new CarResults(A,B);
}
}
我的班级是
package javaapplication16;
import java.util.ArrayList;
import java.util.HashMap;
class CarResults {
final ArrayList<CarResults> staticsArray = new ArrayList<>();
final HashMap<Integer, ArrayList> myHashMap = new HashMap<>();
private String foo;
private String bar;
public CarResults (String foo, String bar) {
this.foo = foo;
this.bar = bar;
}
public String getFoo() {
return foo;
}
public String getBar() {
return bar;
}
}
答案 0 :(得分:5)
您的方法正在返回CarResults
个对象,而不是String
。因此,您应该将HashMap
定义更改为以下内容:
HashMap<Integer, CarResults> hm = new HashMap<Integer, CarResults>();
或者简单地说:
Map<Integer, CarResults> hm = new HashMap<>();
答案 1 :(得分:1)
你有一个hashmap,它需要一个int作为键,一个字符串作为值,但你试图将carresults对象作为值放在地图中