java list用法

JAVA List用法php

1.List中能夠添加任何對象,包括本身定義的類。java

//定義一個Person類數組

class Person{數據結構

……spa

}線程

Person person1 = new Person();orm

Person person2 = new Person();對象

List list = new ArrayList();索引

//添加對象接口

list.add(person1);

list.add(person2);

//取對象

Person person3 = (Person)list.get(0);//注意:這裏必定要強制類型轉換,由於List中取出的對象都是Object類型的。

2.List是一個接口,不能實例化,須要實例化一個ArrayList或者LinkedList

List myList = new ArrayList();

3.使用myList.add(任何對象);能夠添加任何對象

4.取值的時候myList.get(索引);取出來的值都是Object,使用時須要類型轉換。

5.能夠用Iterator迭代器對List中的元素進行迭代操做。

List集合中的對象按照必定的順序存放,裏面的內容能夠重複。

List接口實現的類:ArrayList(實現動態數組)、Vector(實現動態數組)、LinkedList(實現鏈表)、Stack(實現堆棧)。


1.java.util.ArrayList類

java.util.ArrayList類實現一個可增加的動態數組,平時用得最多的就是add()方法。使用該方法向集合內添加對象,而且這些對象按照必定的順序排列,內部原理是數組實現的,所以處理數據量很大時,不建議使用。

List a = new ArrayList();

a.add("a");

a.add("b");

a.add("c");

//使用Iterator迭代器遍歷出集合的元素並打印

for(Iterator i = a.iterator();i.hasNext();)

{

  String str = (String)i.next();

  System.out.printIn(str);

}

2.java.util.Vector(向量)類

java.util.Vector類與ArrayList相似的也是實現一個動態數組,該向量能夠隨意的增加以及存放等多的對象。

List a = new Vector();

a.add("a");

a.add("b");

a.add("c");

for(Iterator i = a.iterator();i.hasNext();)

{

  String str = (String)i.next();

  System.out.printIn(str);

}

3.java.util.LinkedList類實現鏈表

能夠初始化爲空或者已經存在的集合,一般使用如下方法:

add();向鏈表末尾添加對象

addFirst();在鏈表開頭添加對象

addLast();在鏈表末尾添加對象--這個和add()同樣
getFirst();獲得鏈表開頭的對象

getLast();獲得鏈表末尾的對象

注意:該類提供了隨機訪問列表中的元素的方法.

LinkedList a = new LinkedList();

a.add("a");

a.add("b");

a.add("c");

for(Iterator i = a.iterator();i.hasNext();)

{

  String str = (String)i.next();

  System.out.printIn(str);

}

4. java.util.Stack類實現了堆棧數據結構,即按照先進後出的原則存放數據,建立時只能爲空,使用push()方法進行添加對象。

Stack a = new Stack();

a.push("a");

a.push("b");

a.push("c");

for(Iterator i = a.iterator();i.hasNext();)

{

  String str = (String)i.next();

  System.out.printIn(str);

}



java list用法示例詳解

  1. List:元素是有序的(怎麼存的就怎麼取,順序不會亂),元素能夠重複。

  2. ArrayList:底層的數據結構使用的是數組結構,特色是查詢很快,但增刪較慢,線程不一樣步。

  3. LinkedList:底層的數據結構是鏈表結構,特色是查詢慢,增刪較快。

  4. Vector:底層是數組數據結構,線程同步,不管查詢仍是增刪都很慢,被ArrayList替代了

ArrayList刪除指定位置的元素

ArrayList a = new ArrayList();

a.add("javaScript");

a.add("php");

a.add("flash");

//刪除第2個位置的元素

a.remove(1);

ArrayList修改指定角標的元素 set(int index,E element),返回的是修改的那個元素

a.set(2,"C++");

ArrayList查找指定位置的元素

get(int index) 返回列表中指定位置的元素

subList(int fromIndex,int toIndex) 返回列表中指定的fromIndex(包括)和toIndex(不包括)之間的部分元素

System.out.println(a.get(2)); //獲取指定角標的元素,能夠用該方法遍歷集合中全部的元素。

System.out.println(a.subList(1,3)); // 得到集合中某一部分的元素,包含頭不包含尾

java迭代器的使用

ListIterator li = a.listIterator();

while(li.hasNext())

{

    if(li.next().equals("C++"))  // 這句是java裏面的字符串比  

         li.set("C#");

相關文章
相關標籤/搜索