2017-04-01 67 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>(); 

现在我想打印我用这个语法的ArrayList元素

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

但出来说就是这个 [email protected] 我该怎么办? 另一个问题,我可以如何改变他们,例如我想改变起飞第一次飞行的时间。

回答

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

要在ArrayList中添加新的飞行元素,以下:

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

To chang e某些元素的值,请执行以下操作:

list.get(0).start = "1234"; 
相关问题