哈希映射和数据类

时间:2016-06-04 13:48:02

标签: 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);

}



}

我的班级是

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;
   }
}

2 个答案:

答案 0 :(得分:5)

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

HashMap<Integer, CarResults> hm = new HashMap<Integer, CarResults>();

或者简单地说:

Map<Integer, CarResults> hm = new HashMap<>();

答案 1 :(得分:1)

你有一个hashmap,它需要一个int作为键,一个字符串作为值,但你试图将carresults对象作为值放在地图中