Java集合架構與數組的差別
示例 1 : 使用數組的局限性
如果要存放多個對象,可以使用數組,但是數組有局限性
比如 聲明長度是10的數組
不用的數組就浪費了
超過10的個數,又放不下
//TestCollection.java
package collection;
import charactor.Hero;
public class TestCollection {
public static void main(String[] args) {
//數組的局限性
Hero heros[] = new Hero[10];
//聲明長度是10的數組
//不用的數組就浪費了
//超過10的個數,又放不下
heros[0] = new Hero("蓋倫");
//放不下要報錯
heros[20] = new Hero("提莫");
}
}
// 重寫了toString的Hero
package charactor;
public class Hero {
public String name;
public float hp;
public int damage;
public Hero() {
}
// 增加一個初始化name的構造方法
public Hero(String name) {
this.name = name;
}
// 重寫toString方法
public String toString() {
return name;
}
}
示例 2 : ArrayList存放對象
為了解決數組的局限性,引入容器類的概念。 最常見的容器類就是
ArrayList
容器的容量"capacity"會随着對象的增加,自動增長
隻需要不斷往容器裡增加英雄即可,不用擔心會出現數組的邊界問題。
package collection;
import java.util.ArrayList;
import charactor.Hero;
public class TestCollection {
@SuppressWarnings("rawtypes")
public static void main(String[] args) {
//容器類ArrayList,用于存放對象
ArrayList heros = new ArrayList();
heros.add( new Hero("蓋倫"));
System.out.println(heros.size());
//容器的容量"capacity"會随着對象的增加,自動增長
//隻需要不斷往容器裡增加英雄即可,不用擔心會出現數組的邊界問題。
heros.add( new Hero("提莫"));
System.out.println(heros.size());
}
}