List、Set、Map集合最常用六個子類及它們之間的區別詳解(含經典面試題)
阿新 • • 發佈:2019-01-06
集合:
在程式設計中,我們需要管理很多物件集,比如某班全部的同學資訊,某個公司的人員資料等等。JAVA集合就是提供某種資料結構的支援,即存放物件,並讓這些物件按照某種資料結構存放。
集合與陣列的區別:
1. 陣列存放的元素個數是在定義陣列時固定的。
集合可以通過方法新增、刪除元素、
2. 陣列存放的型別是統一的。
集合存放的型別可以不統一。
Collection是List和set的父介面,封裝了子介面List與Set的常用方法
List中最常用的兩個子類:ArrayList和LinkedList
Set中最常用的兩個子類:HashSet和TreeSet
Map中最常用的兩個子類:HashMap和TreeMap
List中的常用方法:
size():檢視集合大小,即長度
add():向集合中新增資料
get():通過下標獲取集合中的資料
set():通過下標修改集合中的資料
remove():通過下標或值修改集合中的資料,如果引數是值,那麼只刪除第一個是該值的資料
clear():清除集合中的所有資料
contains():判斷集合中是否包含某個資料
List的遍歷方式:
for迴圈:
for(int i = 0 ; i < list.size() ; i ++){
System.out.println(list.get(i));
}
foreach迴圈
for (Object o : list){
System.out.println(o);
}
iterator迭代器迴圈
Iterator iter = list.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
使用迭代器迴圈要注意一點:如果集合中儲存的是物件,那麼迴圈中不能出現兩次以上的iter.next()語句,因此,需要先定義一個物件接收迴圈出來的值,再使用物件呼叫屬性進行列印,程式碼如下:
Iterator iter = list.iterator();
while(tier.hasNext ()){
Student stu = tier.next();
Sytem.out.println("學生姓名:" + stu.name + "學生年齡:" + stu.age);
}
未完待續。。。