首先ArrayList的一个简单实例:
1 package chapter11; 2 import java.util.ArrayList; 3 4 public class TestArrayList { 5 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 ArrayList<String> cityList=new ArrayList<String>(); 9 cityList.add("London"); 10 cityList.add("Denver"); 11 cityList.add("Paris"); 12 cityList.add("Miami"); 13 cityList.add("Seoul"); 14 cityList.add("Tokyo"); 15 16 System.out.println("List size is "+cityList.size()+ 17 "\nIs Miami in the list? "+cityList.contains("Miami")+ 18 "\nThe location of Denver in the list? "+cityList.indexOf("Denver")+ 19 "\nIs the list empty? "+cityList.isEmpty()); 20 21 cityList.add(2, "Xian"); 22 cityList.remove("Miami"); 23 cityList.remove(1); 24 25 System.out.println(cityList.toString()); 26 27 for(int i=cityList.size()-1;i>=0;i--){ 28 System.out.print(cityList.get(i)+" "); 29 } 30 System.out.println(); 31 32 33 34 35 } 36 37 } |
一开始定义cityList的时候,并没有使用泛型<String>,后来Eclipse提示警告,才增加的。
所以这里存在一个问题,定义ArrayList的时候,一定要定义出这个List包含的数据类型么?
经过搜索学习,发现ArrayList可以同时存放不同类型的数据(早期还有这样的应用,但是现在很少了)。不定义存储类型的话,都是以Object执行装箱操作,拿出来也要拆箱。比较麻烦。
最好一个ArrayList中只存储同一种类型。