2017-04-01 11 views
0

こんにちは私はjavaのarraylistの要素にアクセスする方法を知りたいですか? 私はこのクラスを持っています。どのように私はarraylistの要素にアクセスすることができます<class>

class flight 
{ 
    public String start; 
    public String end; 
    public int timethatend ; 
    public int timethatstart; 
    flight (int ts , int tf , String s , String e) 
    { 
     this.start = s; 
     this.end =e; 
     this.timethatend = tf; 
     this.timethatstart = ts; 
    } 
} 

と私は私のメインクラスでこのArrayListのを持って

ArrayList<flight>list = new ArrayList<flight>(); 

今私はこの構文

System.out.println(list.get(0)); 

を使用しますが、入れてはこの [email protected]でのArrayListの要素を印刷したいです どうすればいいですか? 別の質問どのように私はそれらを変更することができます私は離陸の時間を最初の飛行を変更したい。

答えて

0

これは、オブジェクト参照をあなたの飛行オブジェクトに印刷しています。 FlightクラスにtoString()メソッドを追加し、それを使用してフライト情報を出力する必要があります。たとえば、次のように

public String toString() { 
    return start + "," + timethatstart + "," + end + "," + timethatend; 
} 

あなたが印刷:

System.out.println(list.get(0).toString()); 
+0

どのように要素を変更することができますか。たとえば飛行1の場合、離陸する時間を変更したいと思う。私は何をすべきか? – alish

+0

あなたはlist.get(index)で要素にアクセスしています。 'list.get(0).timethatstart = 2400'のように変数を直接変更することも、setterメソッドとgetterメソッドを使うこともできます。 –

0

は、以下のようなクラスのtoStringメソッドを追加します。

class flight 
{ 
    public String start; 
    public String end; 
    public int timethatend ; 
    public int timethatstart; 
    flight (int ts , int tf , String s , String e) 
    { 
     this.start = s; 
     this.end =e; 
     this.timethatend = tf; 
     this.timethatstart = ts; 
    } 

    @Override 
    public String toString() { 
     return "flight{" + 
       "start='" + start + '\'' + 
       ", end='" + end + '\'' + 
       ", timethatend=" + timethatend + 
       ", timethatstart=" + timethatstart + 
       '}'; 
    } 
} 

を以下に、配列リストで新しいフライトの要素を追加するには:

flight f = new flight(1,2,"12","34"); 
ArrayList<flight> list = new ArrayList<flight>(); 
list.add(f); 

To changいくつかの要素の値を次のようにします。

list.get(0).start = "1234"; 
関連する問題