2017-12-02 19 views
0

私はJAVAでプログラムを書いていますが、私はHashMapを使っています。getValueを使ってHashMapから1つの値を取得する方法

private HashMap<Integer,Plane> planes; 

飛行機は、私が作成したクラスです。

public class Plane { 
    private int planeNumber; 
    private int departureTime; 
    private int arrivalTime; 
    private int flightDuration; 
    private int aerialDrops; 

    //constructors... 
} 

私はそのようなのHashMapのすべてのコンポーネントを印刷しよう:

public void getAllAircrafts() 
{ 
    Set set = planes.entrySet(); 
    Iterator iterator = set.iterator(); 
    while(iterator.hasNext()) { 
     Map.Entry mentry = (Map.Entry)iterator.next(); 
     System.out.print("Aircraft ID is: "+ mentry.getKey() + " "); 
     System.out.println(mentry.getValue()); 
    } 
} 

問題は、私が印刷したいですplaneを記述するすべての変数の値ですが、代わりに、私はairfry.getValue()からaircraft @ 15db9742を取得します。どうすればこの問題を解決できますか?

答えて

3

あなたは

@Override 
    public String toString() { 
     return "Plane [planeNumber=" + planeNumber + 
         ",departureTime=" + departureTime + 
         ",arrivalTime=" + arrivalTime + 
         ",flightDuration=" + flightDuration + 
         ",aerialDrops=" + aerialDrops + "]"; 
    } 

今あなたがObjectクラスの親

0

のtoStringメソッドを使用しているわずかな変化のように正常に動作します、飛行機クラスののtoStringメソッドをオーバーライドして追加する必要がありますあなたが必要とする:

public class Plane { 
    private int planeNumber; 
    private int planeNumber; 
    private int arrivalTime; 
    private int flightDuration; 
    private int aerialDrops; 

    public String toString() 
{ 
    return planeNumber +" "+planeNumber+" "+arrivalTime+" "+flightDuration+" "+aerialDrops 
} 
} 
関連する問題