java之List集合與Set集合的區別(1)

2021-08-19 18:50:51 字數 865 閱讀 3803

專案中我用到的list集合主要是arraylist以及hashset,他們全都是繼承自collection介面;

list底層就是陣列(也就是說可以根據下標來拿到list中的元素),特點是元素有序放入,元素可以有重複,元素可以為null;可以使用for迴圈遍歷,也可以使用迭代器。

hashset是基於雜湊表實現的,元素無序放入,放入的值可以為null,但是只能有乙個null,因為hashset的元素是不可重複的;set取值只能使用迭代器或者使用foreach遍歷,因為它無序,所以不能依照下標取值。

下面直接上**,更直觀的發現兩者的不同

迴圈list集合元素的**示例如下:
public static void main(string args) 

}

輸出結果為:

list集合裡第0個的值為:飛機

list集合裡第1個的值為:坦克

list集合裡第2個的值為:大炮

foreach遍歷set集合元素的**如下:(與list集合放入元素的順序一致)

public static void main(string args) 

}

輸出結果為:

得到的set集合第1個的值為大炮

得到的set集合第2個的值為飛機

得到的set集合第3個的值為坦克

從**可以看出set集合與list集合最大的區別就是set集合的元素儲存是無序的不可重複的,而list集合的元素儲存是有序的可重複的,和陣列一樣可以根據下標取值;剩下的存null值大家可以自己試驗一下,在這就不多做演示了。---純屬原創,不喜勿噴。

集合框架 List與Set

所有的集合框架並不存放真正的物件,而是持有物件的引用 list與set都繼承自collection list的實現類 arraylist,linklist,vector set的實現類 hashset,linkedhashset,sortset 介面 treeset 實現sortset 首先介紹一下...

List集合 Set集合

一 請簡述list介面的特點。v 它是乙個元素訪問有序的集合。例如,存元素的順序是11 22 33。那麼集合中,元素的儲存就是按照11 22 33的順序完成的 v 它是乙個帶有索引的集合,通過索引就可以精確的操作集合中的元素 與陣列的索引是乙個道理 v 集合中可以有重複的元素,通過元素的equals...

Java中集合類List與Set的區別

一 list list介面有兩個重要的類 arraylist與linkedlist arraylist可以認為是長度可變的陣列,方便隨機訪問 index linkedlist以鍊錶的形式儲存,進行插入刪除操作時比較方便 以arraylist為例,由於是長度可變的陣列,那麼自然擁有陣列的特性 1 利用...