一、List中能夠添加任何對象,包括本身定義的新的類。
class Person{ ..... } 上面定義了一個Person類,下面看好如何使用List Person p1=new Person(); Person p2=new Person(); List list=new ArrayList(); list.add(p1); list.add(p2);//這裏是將對象加入到list中 for(int i=0;i Person p=(Person)list.get(i);//注意,這裏必定要強制類型轉換,由於List中取出的對象都是Object類型的,但願對你有所幫助 }
二、List是一個接口,不能實例化,須要實例化一個ArrayList或者LinkedList
List myList = new ArrayList();
三、使用myList.add(任何對象);就能夠進行添加了。
四、取值的時候myList.get(索引);取出來的值都是Object,使用時須要類型轉換。
五、可用Iterator迭代器對List中的元素進行迭代操做。
List 集合中的對象按照必定的順序排放,裏面的內容能夠重複。 List接口實現的類:ArrayList(實現動態數組), Vector(實現動態數組) ,LinkedList(實現鏈表), Stack(實現堆棧) 一 list接口 1.java.util.ArrayList類實現一個可增加的動態數組,平時用的比較多的就是add()方法,其它方法 請參考API幫助文檔。使用該方法向集合內添加對象,而且這些對象是按照必定的順序排列 的,它內部原理是數組實現的,所以處理數據量較大時,不建議使用。 public class TestArrayList { public static void main(String[] args) { //聲明List 並實例化爲ArrayList List al = new ArrayList(); //使用add()方法添加元素 al.add("a"); al.add("b"); al.add("c"); al.add("d"); //使用Iterator迭代器遍歷出集合的元素並打印 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); } } } 3.java.util.Vector(向量)類 與ArrayList相似的也是實現一個動態的數組,該向量能夠隨意的增加以存放更多的對象 public class TestArrayList { public static void main(String[] args) { //聲明List 並實例化爲Vector List al = new Vector(); //使用add()方法添加對象 al.add("a"); al.add("b"); al.add("c"); al.add("d"); //使用Iterator迭代器遍歷出集合的對象並打印 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); } } } 3.java.util.LinkedList類實現了鏈表,可初始化化爲空或者已存在的集合,一般使用如下方法 add();向鏈表末尾添加對象。 addFirst()在鏈表開頭添加對象。 addLast()在鏈表末尾添加對象。 getFirst()獲得鏈表開頭的對象。 getLast()獲得鏈表末尾的對象。 注意該類提供了隨機訪問列表中的元素的方法,可是底層依然必須遍歷去查找隨機訪問的對象,所以性能依然有限. public static void main(String[] args) { //聲明LinkedList並實例化 LinkedList al = new LinkedList(); //使用add()方法添加元素 al.add("a"); al.add("b"); al.add("c"); al.add("d"); //使用Iterator迭代器遍歷出集合的元素並打印 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); } System.out.println("_____"); //向鏈表頭和尾分別添加x和z al.addFirst("z"); al.addLast("x"); //遍歷查看添加後的結果 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); } } 4.java.util.Stack類實現了堆棧數據結構,即按照先進後出的原則存放數據。建立時只能爲空。 使用push()方法進行添加對象 public static void main(String[] args) { //聲明Stack並實例化 Stack al = new Stack(); //使用push()方法添加元素 al.push("a"); al.push("b"); al.push("c"); al.push("d"); al.push("f"); //使用Iterator迭代器遍歷出集合的元素並打印 for(Iterator i = al.iterator();i.hasNext(); ){ String str = (String) i.next(); System.out.println(str); } }
-----------
Example added by myself:
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList list = new ArrayList();
list.add(0,"aa");
list.add(1,"bb");
list.add(2,"cc");
for(int i=0;i<10;i++)
{
list.add(Integer.toString(i));
}
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i));
}
for(Iterator i=list.iterator();i.hasNext();)
//首先定義一個list對象的Iterator,而後利用該Iterator進行循環迭代操做
{
String s =(String)i.next();
System.out.println(s);
}
}
}