0

HashMapからArrayListを出力する方法は?

Map<String, ArrayList<Car>> cars = new HashMap<String, ArrayList<Car>>;

ArrayList<Car> carList = cars.get("bmw");

    for (int i = 0; i < carList.size(); i++) {
        System.out.println(carList.get(i));
    }

コードの原因は次のとおりです。

java.lang.NullPointerException

「bmw」キーが存在し、入力されているにもかかわらず。

4

5 に答える 5

1

追加してみてください

System.out.println(cars.get("bmw"));

正確に何が含まれているかを確認します(マップおよび車のArrayList)。

于 2012-09-02T04:27:16.280 に答える
1
Iterator<String> itr = carList.iterator();
    while (itr.hasNext()) {
      String element = itr.next();
      System.out.print(element + " ");
    }

このcarListを実行するInoderはnull値であってはなりません。
ArrayListに値を追加するには、次を使用できます

carList.add("Some value");
于 2012-09-02T04:32:45.423 に答える
0

リストを反復処理する最も簡単な方法は、foreachを使用することです。

ArrayList<Car> carList = cars.get("bmw");  
for (Car car : carList) {
    System.out.println(car.getYourValueToPrint());
}
于 2012-09-02T10:10:24.457 に答える
0

ArrayListを反復処理する最も安全な方法は、ループごとに拡張することで、NullPointerException:の苦痛を軽減します。

ArrayList<Car> carList = cars.get("bmw");
for(Car car: carList){
    car.doAnyOpertation();
    System.out.println(car.getAnyValue());
}
于 2012-09-02T10:43:19.807 に答える
0
ArrayList<Car> carList = cars.get("bmw");
for(Car car: carList){
    car.doAnyOpertation();
    System.out.println(car.getAnyValue());
}

この場合でも、carListがnullの場合は、throwNPEを入力します
for(Car car: carList)

于 2012-09-03T07:12:11.170 に答える