1. 程式人生 > >從物件陣列到陣列與集合

從物件陣列到陣列與集合

物件陣列的概述和使用

  A:案例演示
需求:我有5個學生,請把這個5個學生的資訊儲存到陣列中,並遍歷陣列,獲取得到每一個學生資訊。
* 
Student[] arr = new Student[5];//儲存學生物件
arr[0] = new Student("張三", 23);
arr[1] = new Student("李四", 24);
arr[2] = new Student("王五", 25);
arr[3] = new Student("趙六", 26);
arr[4] = new Student("馬哥", 20);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
* 陣列和集合儲存引用資料型別,存的都是地址值
import bean.Student;
public class a {
	public static void main(String[] args) {
		//int[] arr = new int[5];	//建立基本資料型別陣列
		Student[] arr = new Student[5];	//建立引用資料型別陣列
		arr[0] = new Student("張三", 23);//建立一個學生物件,儲存在陣列的第一個位置
		arr[1] = new Student("李四", 24);//建立一個學生物件,儲存在陣列的第二個位置
		arr[2] = new Student("王五", 25);//建立一個學生物件,儲存在陣列的第三個位置
		
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}
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;
	}
	@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + age + "]";
	}
	
	
}


集合的由來

* 陣列長度是固定,當新增的元素超過了陣列的長度時需要對陣列重新定義,太麻煩,
* java內部給我們提供了集合類,能儲存任意物件,長度是可以改變的,隨著元素的增加而增加,隨著元素的減少而減少 

陣列和集合的區別

* 區別1 : 
* 陣列既可以儲存基本資料型別,又可以儲存引用資料型別,基本資料型別儲存的是值,引用資料型別儲存的是地址值
* 集合只能儲存引用資料型別(物件)集合中也可以儲存基本資料型別,但是在儲存的時候會自動裝箱變成物件
* 區別2:
* 陣列長度是固定的,不能自動增長
* 集合的長度的是可變的,可以根據元素的增加而增長

陣列和集合什麼時候用

* 1,如果元素個數是固定的推薦用陣列
* 2,如果元素個數不是固定的推薦用集合

集合繼承體系圖