1. 程式人生 > >List、Set、Map集合最常用六個子類及它們之間的區別詳解(含經典面試題)

List、Set、Map集合最常用六個子類及它們之間的區別詳解(含經典面試題)

集合:
在程式設計中,我們需要管理很多物件集,比如某班全部的同學資訊,某個公司的人員資料等等。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); }

未完待續。。。