集合框架(ArrayList存儲自定義對象並遍歷)

創建student類

package cn.itcast_01;


public class Student {

private String name;

private int age;


public Student() {

super();

}


public Student(String name, int age) {

super();

this.name = name;

this.age = age;

}


public String getName() {

return name;

}


public void setName(String name) {

this.name = name;

}


public int getAge() {

return age;

}


public void setAge(int age) {

this.age = age;

}


}



package cn.itcast_01;


import java.util.ArrayList;

import java.util.Iterator;


/*

 * ArrayList存儲自定義對象並遍歷

 */

public class ArrayListDemo2 {

public static void main(String[] args) {

// 創建集合對象

ArrayList array = new ArrayList();


// 創建學生對象

Student s1 = new Student("武松", 30);

Student s2 = new Student("魯智深", 40);

Student s3 = new Student("林沖", 36);

Student s4 = new Student("楊志", 38);


// 添加元素

array.add(s1);

array.add(s2);

array.add(s3);

array.add(s4);


// 遍歷

Iterator it = array.iterator();

while (it.hasNext()) {

Student s = (Student) it.next();

System.out.println(s.getName() + "---" + s.getAge());

}


System.out.println("----------------");


for (int x = 0; x < array.size(); x++) {

// ClassCastException 注意,千萬要搞清楚類型

// String s = (String) array.get(x);的是student類型,卻強轉String類型,但是這裏不報錯,爲什麼?因爲這裏array.get(x)拿的是object類型,array.get(x)以爲它是字符串呢,所以編譯不報錯,但是運行 ClassCastException錯,叫類型轉換異常

// System.out.println(s);


Student s = (Student) array.get(x);

System.out.println(s.getName() + "---" + s.getAge());

}

}

}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章