元素型別
集合:引用型別(儲存基本型別時會自動裝箱)
陣列:基本型別、引用型別
元素個數
集合:不固定,可以任意擴容
陣列:固定
集合優點
不受容器大小限制,可以隨時新增、刪除元素、提供了大量操作元素方法
特點:可重複,有序(訪問順序相同)
應用: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。繼...