日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java list子类_List集合的子类ArrayList、LinkedList、Vector

發布時間:2025/4/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java list子类_List集合的子类ArrayList、LinkedList、Vector 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

List:有序,有索引,可重復。

|--ArrayList:底層數據結構是 數組結構.是線程不同步的(不安全的).查詢速度很快,但是增刪較慢。

構造一個初始容量為 10 的空列表,當放滿了10個元素后,以50%的長度加長集合容器的長度。

List 接口的大小可變數組的實現,即:可以直接指定容量大小

|--LinkedList:底層數據結構是 鏈表結構。對元素的增刪速度很快。但是查詢速度很慢。線程是不同步的。

|--Vector:底層數據結構也是數組結構,是線程同步的(安全的),效率低,被ArrayList替代了。1.2版本以后的集合都是不同步的

當放滿了10個元素后,以100%的長度加長集合容器的長度。

1,首先看一下LinkedList(ArrayList不做介紹)

package cn.java.collection.list;

import java.util.Collection;

import java.util.Iterator;

import java.util.LinkedList;

public class LinkedListDemo {

/*

LinkedList中的一些方法在JDK1.6以后有了替代。

addFirst();

addLast();

JDK1.6:

offerFirst();

offerLast();

getFirst();如果鏈表中沒有元素,獲取出現異常。NoSuchElementException

getLast();

JDK1.6:

peekFirst();如果鏈表中沒有元素,則返回null。

peekLast();

removeFirst();如果鏈表中沒有元素,獲取出現異常。NoSuchElementException

removeLast();

JDK1.6:

pollFirst();如果鏈表中沒有元素,則返回null。

pollLast();

*/

public static void sop(Object obj)

{

System.out.println(obj);

}

public static void main(String[] args)

{

LinkedList link = new LinkedList();

//System.out.println("heihei……"+link.getFirst());//如果鏈表中沒有元素,獲取出現異常。NoSuchElementException

System.out.println("heihei……"+link.peekFirst());//jdk1.6以后的方法,如果鏈表中沒有元素,返回null

//System.out.println("heihei……"+link.removeLast());//如果鏈表中沒有元素,獲取出現異常。NoSuchElementException

System.out.println("heihei……"+link.pollLast());//jdk1.6以后的方法,如果鏈表中沒有元素,返回null

//鏈表的特有方法。添加.

link.addFirst("abc1");

link.addFirst("abc2");

link.addFirst("abc3");

link.addFirst("abc4");

//link.addLast("abc5");

for(int x=0; x

{

System.out.println("get:"+link.get(x));

}

/*for(int x=0; x

{

System.out.println("x="+x+"...size="+link.size());

System.out.println(link.removeFirst());

}*/

printColl(link);//這里也可以將Linkedlist作為一個參數傳遞給超類Collection,然后用Collection的獲取方法,如果使用了迭代器,則不能同時使用collection本身的增加,修改,刪除

while(!link.isEmpty())

{

System.out.println("remove:"+link.removeFirst());

}

System.out.println("----------------------");

link.add("weiba");

link.clear();

System.out.println(link);//打印出來為一個空的數組:[]

/*sop("getFirst:"+link.getFirst());//獲取元素,長度不改變。如果鏈表中沒有元素,獲取出現異常。NoSuchElementException

sop("getLast:"+link.getLast());

sop("get size="+link.size());

sop("removeFirst:"+link.removeFirst());//獲取元素,但是元素被刪除,長度會改變。如果鏈表中沒有元素,獲取出現異常。NoSuchElementException

sop("removeLast:"+link.removeLast());

sop("remove size="+link.size());*/

}

public static void printColl(Collection coll)

{

Iterator it = coll.iterator();

while(it.hasNext())

{

//此處不能調用coll.remove(it.next());否則會報java.util.ConcurrentModificationException

System.out.println("haha"+it.next());

}

}

}

上面類中main方法執行結果為:

heihei……null

heihei……null

get:abc4

get:abc3

get:abc2

get:abc1

hahaabc4

hahaabc3

hahaabc2

hahaabc1

remove:abc4

remove:abc3

remove:abc2

remove:abc1

----------------------

[]

2.vector集合

import java.util.Enumeration;

import java.util.Iterator;

import java.util.Vector;

/*

Enumeration 此接口的功能與 Iterator 接口的功能是重復的

Iterator將Enumeration給替代了,

原因:Enumeration接口的方法名稱過長。所以郁郁而終。

*/

public class VectorDemoAndEnumeration {

public static void main(String[] args) {

Vector v = new Vector();

v.addElement("abc1");

v.addElement("abc2");

v.addElement("abc3");

v.addElement("abc4");

for (int i = 0; i < v.size(); i++) {

System.out.println("通用獲取方式:"+v.get(i));

}

//第二種取出方式

Enumeration en = v.elements();

while(en.hasMoreElements()){

System.out.println(en.nextElement());

}

System.out.println("----------------");

//第三種取出方式

Iterator it = v.iterator();

while(it.hasNext()){

System.out.println(it.next());

}

}

}

此類執行結果為:

/*通用獲取方式:abc1

通用獲取方式:abc2

通用獲取方式:abc3

通用獲取方式:abc4

abc1

abc2

abc3

abc4

----------------

abc1

abc2

abc3

abc4*/

總結

以上是生活随笔為你收集整理的java list子类_List集合的子类ArrayList、LinkedList、Vector的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。