list的三個子類,增強for迴圈,可變引數

2021-09-25 09:08:41 字數 3405 閱讀 5575

(1)特點

底層資料結構是陣列,查詢快,增刪慢,執行緒安全,效率低。

(2)主要方法:

1.addelement(e obj)

將指定的元件新增到此向量的末尾,將其大小增加 1。

2.elementat(int index)

返回指定索引處的元件。

3.elements()

返回此向量元件的列舉(迭代器)

4.lastelement()

返回此向量的最後乙個元件。

5.firstelement()

返回此向量的第乙個元件(位於索引0) 處的項)。

6.void removeallelements ()

從此向量中移除全部元件,並將其大小設定為零。

7.boolean removeelement (object obj)

從此向量中移除變數的第乙個(索引最小的)匹配項。

8.void removeelementat ( int index)

刪除指定索引處的元件。

(3)舉例

public class demo 

}}

結果:

[10, 11, 12]

[10, 11, 12, 13]

1011

1213

(1)概述:

list 介面的鏈結列表實現 , 此實現不是同步的

(2)linkedlist類特有功能:

​ public void addfirst(e e)及addlast(e e)

​ public e getfirst()及getlast()

​ public e removefirst()及public e removelast()

(3)主要功能:

1.e element ()

獲取但不移除此列表的頭(第乙個元素)。

2.e getfirst ()

返回此列表的第乙個元素。

3.e getlast ()

返回此列表的最後乙個元素。

4.peek()

獲取但不移除此列表的頭(第乙個元素)。

5.e peekfirst ()

獲取但不移除此列表的第乙個元素;如果此列表為空,則返回 null。

6.e poll ()

獲取並移除此列表的頭(第乙個元素)

7.e pollfirst ()

獲取並移除此列表的第乙個元素;如果此列表為空,則返回 null。

8.e polllast ()

獲取並移除此列表的最後乙個元素;如果此列表為空,則返回 null。

9.e pop ()

從此列表所表示的堆疊處彈出乙個元素。

10.void push (e e)

將元素推入此列表所表示的堆疊。

11.e removelast ()

移除並返回此列表的最後乙個元素。

12.e removefirst ()

移除並返回此列表的第乙個元素。

13.void addfirst (e e)

將指定元素插入此列表的開頭。

14.void addlast (e e)

將指定元素新增到此列表的結尾。

(1)概述

構造乙個具有指定初始容量的空列表。

(2)主要方法

1.add(e e)

將指定的元素新增到此列表的尾部。

2.addall()

將該 collection 中的所有元素新增到此列表的尾部。

3.clear()

移除此列表中的所有元素。

4.boolean contains(object o)

如果此列表中包含指定的元素,則返回true

5.get(int index)

返回此列表中指定位置上的元素

6.remove()

移除此列表中指定位置上的元素。

7.size()

返回此列表中的元素數。

8.toarray()

按適當順序(從第乙個到最後乙個元素)返回包含此列表中所有元素的陣列。

(1)概述

簡化陣列和collection集合的遍歷

(2)格式

for(元素資料型別 變數 : 陣列或者collection集合)

(3)演示

public class mytest ;

for (int i = 0; i < arr.length; i++)

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

//新式for迴圈遍歷陣列

//1,明確容器中的元素是什麼資料型別

//2.容器的名字

// for(容器中的元素的資料型別 當前遍歷的元素名 : 容器名)

for(int ele:arr)

//採用新式for迴圈遍歷集合

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

arraylistlist = new arraylist();

list.add(1004);

list.add(1000);

list.add(1002);

list.add(10026);

for(integer ele:list)

/*我們在採用新式for迴圈遍歷容器途中,如果你想要給容器中新增元素或刪除元素,就會報併發修改異常

concurrentmodificationexception

for (integer integer : list)

}*//*如果你要在遍歷途中,要給容器新增元素或刪除元素,你就使用普通for迴圈*/

for (int i = 0; i < list.size(); i++) }}

}

(1)概述

定義方法的時候不知道該定義多少個引數

(2)格式

修飾符 返回值型別 方法名(資料型別… 變數名){}

(3)注意事項

​ a: 這裡的變數其實是乙個陣列

​ b: 如果乙個方法有可變引數,並且有多個引數,那麼,可變引數肯定是最後乙個

(4)舉例

public class mytest2 

之後提供的乙個新語法,可變引數

//資料型別 ... 引數名

//可變引數本質上是個陣列

private static int add(int b,int ... num)

return sum+b;

}//如果乙個方法,有多個引數,那麼可變引數,就位於最後乙個

private static int show(int b,int... num)

}

list 的三個子類

arraylist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高。vector 底層資料結構是陣列,查詢快,增刪慢。執行緒安全,效率低。linkedlist 底層資料結構是鍊錶,查詢慢,增刪快。執行緒不安全,效率高。vector 類可以實現可增長的物件陣列 vector 是同步的。pub...

List三個子類的特點

listlist是乙個有序的集合,和set不同的是,list允許儲存項的值為空,也允許儲存相等值的儲存項 list是繼承於collection介面,除了collection通用的方法以外,擴充套件了部分只屬於list的方法 list比collection主要多了幾個add 方法和remove 方法的...

List三個子類的特點?

arraylist 底層資料結構是陣列,查詢快,增刪慢 執行緒不安全,效率高 vector 底層資料結構是陣列,查詢快,增刪慢 執行緒安全,效率低 vector相對arraylist查詢慢 執行緒安全 vector相對linkedlist增刪慢 陣列結構 linkedlist 底層資料結構是鍊錶,查...