Java單列集合總結

2021-08-02 16:00:55 字數 3009 閱讀 6088

集合專題_單列集合collection

一、集合常見功能

01.新增元素 add(e e)

arraylist list=new arraylist();

list.add(「a」);

list.add(「b」);

list.add(「c」);

list.add(「a」);

system.out.println(list);//結果為[a, b, c, a]

02.判斷集合中是否包含元素contains(object o)

//判斷list集合中是否包含 元素」b」

boolean b1 = list.contains(「b」);

system.out.println(b1);//結果為true,包含

//判斷list集合中是否包含 元素」b」

boolean b2 = list.contains(「w」);

system.out.println(b2);//結果為false,不包含

03.清空元素clear()

list.clear();//清空集合中的元素

system.out.println(list);//結果為

04.判斷集合中是否包含元素isempty()

//判斷集合是否為空

boolean b = list.isempty();

system.out.println(b);//true,集合中沒有元素

二、集合遍歷

01.迭代器遍歷(任何集合通用)

arraylist list=new arraylist();

list.add(「abc」);

list.add(「bbb」);

list.add(「ccc」);

//獲取集合的迭代器

iterator it = list.iterator();

//迴圈判斷集合中是否有元素可迭代

while(it.hasnext())

注意事項

注意:併發修改異常concurrentmodificationexception

迭代器在遍歷集合的同時,集合自己去修改了集合中的元素,這個時候就會產生併發修改異常。

開發中並不會使用迭代器遍歷,取而代之的是高階for迴圈

02.普通for迴圈(只遍歷list集合)

arraylist list=new arraylist();

list.add(「abc」);

list.add(「bbb」);

list.add(「ccc」);

//普通for迴圈 注意:普通for不能遍歷set,因為set沒有索引。

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

03.高階for迴圈(遍歷任何集合,但是不能修改元素)

注意:高階for也叫foreach

/* * 高階for迴圈遍歷

* for(資料型別 變數名:集合/陣列)

*/ for(string s:list)

三、set集合

hashset 集合

保證元素唯一性的方式:alt+shift+s自動完成

1,複寫元素的hashcode

2,複寫元素的equals

往hashset集合中儲存元素的時候,集合會先判斷元素的hashcode值否相等,

再判斷equals是否相等,如果全都相等就認為元素重複,不存。否則儲存

hashset儲存字串

string類已經複寫了hashcode和equals所以hashset中儲存string物件,不能重複

//特點:無序,不能重複 ,沒有索引

hashset set=new hashset();

set.add(「abcd」);

set.add(「bbbb」);

set.add(「cccc」);

set.add(「abcd」);

system.out.println(set);//結果[bbbb, cccc, abcd]

hashset儲存student

student類中複寫hashcode和equals 才能保證在hashset集合中 student物件不重複

hashset set1=new hashset();

set1.add(new student(「張三丰」,65));

set1.add(new student(「張無忌」,30));

set1.add(new student(「張三丰」,65));

system.out.println(set1);//[[ 張無忌30], [ 張三丰65]]

02.linkedhashset集合

保證元素是有序的,保證鍵的的唯一,其他和hashset用法一樣。

案例**

//linkedhashset有序,不能重複

linkedhashset linkset=new linkedhashset<>();

linkset.add(「a」);

linkset.add(「a」);

linkset.add(「b」);

linkset.add(「c」);

linkset.add(「d」);

system.out.println(linkset);//[a, b, c, d]

system.out.println(「———————–」);

//hashset元素無序,不能重複

hashset set=new hashset<>();

set.add(「a」);

set.add(「a」);

set.add(「b」);

set.add(「c」);

set.add(「d」);

system.out.println(set);//[d, b, c, a]

JAVA單列集合

list e 介面 vector類 set e 介面 hashset e 類 例項treeset e 類 arraylist e 類 linkedlist 類 public class collection public static void demo9 public static void de...

java 單列集合複習

package cn.itcast.map 單例集合 的體系 collection 單例集合的根介面 list 如果是實現了list介面的集合類,具備的特點 有序,重複。arrarylist 底層 是使用了object陣列實現的,特點 查詢速度快,增刪慢。linkedlist 底層是使用了鍊錶資料結...

Java之單列集合

集合 集合類的特點 提供一種儲存空間可變的儲存模式,儲存的資料容量可以隨時發生改變 和陣列的區別 陣列是儲存同種資料型別 長度在定義後便不可變。集合分為單列集合 collection 和雙列集合 map collection集合的概述 是單列集合的頂層介面,它表示一組物件,這些物件也稱為collec...