回憶集合筆記

2021-10-04 08:17:30 字數 4301 閱讀 6256

元素型別

集合:引用型別(儲存基本型別時會自動裝箱)

陣列:基本型別、引用型別

元素個數

集合:不固定,可以任意擴容

陣列:固定

集合優點

不受容器大小限制,可以隨時新增、刪除元素、提供了大量操作元素方法

特點:可重複,有序(訪問順序相同)

應用:list list = new arraylist();

list listdemo = new arraylist();

student s1 = new student("謝廣坤",44);

student s2 = new student("謝永強",20);

student s3 = new student("謝廣坤",44);

student s4 = new student("謝大腳",43);

listdemo.add(s1);

listdemo.add(s2);

listdemo.add(s3);

system.out.println(listdemo.get(2));

system.out.println(listdemo.size());

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

對過程的重複叫迭代

迭代器是遍歷collection集合的通用方式,可以在對集合遍歷的同時進行新增、刪除等操作。

迭代器的常用方法

next():返回迭代的乙個元素物件

hasnext():如果有元素可以迭代返回true

注意:列表迭代器是list體系獨有的遍歷方法,可以在對集合遍歷的同時進行新增和刪除等操作。

但是必須通過 呼叫列表迭代器的方法來實現。

//建立集合物件

list list = new arraylist();

//建立元素物件

//將元素新增到

list.add("a");

list.add("b");

list.add("c");

//遍歷集合

iterator iterator = list.iterator();

while(iterator.hasnext())

//列表迭代器

//根據集合物件獲取列表迭代器物件

listiterator listiterator = list.listiterator();

//判斷迭代器中是否有元素

while(listiterator.hasnext())

}system.out.println(list);

泛指任意型別,幼教引數化型別,對具體型別的使用起到輔助作用,類似方法引數

好處:型別安全,避免型別轉換

泛型一般只和集合類 相結合使用

listlist = new arraylist();

list.add("a");

list.add("b");

list.add("c");

for (string string : list)

max(clloection)

sort(list);

reverse(list);

shuffle(list);   使用預設的隨機源置換指定列表

//列印集合

特點:不可重複,無序

//建立集合物件

setset = new hashset();

// 建立元素物件

student s1 = new student("謝廣坤",41);

student s2 = new student("劉能",44);

student s3 = new student("趙四",39);

student s4 = new student("王老七",45);

student s5 = new student("宋富貴",43);

student s6 = new student("謝廣坤",41);

// 將集合物件新增到元素物件中

set.add(s1);

set.add(s2);

set.add(s3);

set.add(s4);

set.add(s5);

set.add(s6);

// 遍歷集合,必須在student中重寫equal()和hashcode()

system.out.println(set);

// 通過迭代器遍歷set集合

iteratoriterator = set.iterator();

// 判斷迭代器中是否有元素

while(iterator.hasnext())

system.out.println("**********===");

// 通過增強for

for (student student : set)

student:

@override

public int hashcode()

@override

public boolean equals(object obj) else if (!name.equals(other.name))

return false;

return true;

}

特點:鍵不可以重複,值可以重複

成員方法

v  put(k key,v value);新增元素(鍵值對),元素的第一次新增,返回null,重複新增會用新值覆蓋舊值,

並返回舊值 

v get(object key);根據鍵值獲取對應的值

setkeyset(); 獲取所有鍵的集合;

遍歷步驟:

1、獲取所有鍵的集合          keyset()

2、遍歷所有的鍵,獲取到每乙個鍵  迭代器,增強for

3、根據鍵,獲取指定的值             get();

//		建立集合物件

mapmap = new hashmap();

// 建立元素的物件

student s1 = new student("廣坤",23);

student s2 = new student("劉能",23);

student s3 = new student("趙四",23);

student s4 = new student("趙四",23);

// 將元素物件新增到集合中

student stu1 = map.put(1, s1);

system.out.println(stu1);

student stu2 = map.put(1,s2);

system.out.println(stu2);

map.put(2,s2);

map.put(3,s3);

system.out.println(map.get(3));

// 遍歷集合

// 獲取所有鍵的集合

setkeys = map.keyset();

//獲取迭代器物件

iteratoriterator = keys.iterator();

while(iterator.hasnext())

system.out.println("********************==");

//通過增強for

for (integer key : keys)

chapter two學習筆記 章節回憶

2.1基本內建型別 整型 int short,long,char,wchar t,bool 浮點型 long double double,float,void型別 2.2字面值常量 整型字面值常量,如 1,字元字面值常量如 a 浮點型字面值常量,如 3.12f,1e 3f 0.001f 字串字面值常...

回憶MJ,回憶青春

很久沒有更新了,已經習慣了沉浸在緊張的工作裡了 如今,這些兄弟們都已各奔東西,成家 立業 生子,已是鮮有聯絡了。偶爾乙個 也是笑問幾句,當初那種半夜聚在宿舍喝啤酒吃大餅說女人說人生說理想的日子,一去不返了。最後用mj的一首歌來結束吧,別了mj,別了青春 gone too soon like a co...

java基礎 集合類及其資料結構回憶總結

arraylist是實現list介面的動態陣列。動態就是大小可變。預設大小10,當元素增加時,會檢查容量是否需要增長,容量的增長會帶來陣列元素的重新拷貝。因此如果知道業務量的話,可以事先為arraylist設定初始容量。linkedlist實現list介面,基於鍊錶實現,允許所有元素包括null。繼...