哈希映射和数据类

Ing*_*ram -1 java hashmap

我正在尝试使用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);

}



}
Run Code Online (Sandbox Code Playgroud)

我的班级是

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;
   }
}
Run Code Online (Sandbox Code Playgroud)

use*_*685 5

你的方法是返回CarResults对象,而不是a String.因此,您应该将HashMap定义更改为以下内容:

HashMap<Integer, CarResults> hm = new HashMap<Integer, CarResults>();
Run Code Online (Sandbox Code Playgroud)

或简单地说:

Map<Integer, CarResults> hm = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)