面試官:你對java集合瞭解嗎

1.集合大致結構圖

面試官:你對java集合瞭解嗎

2.List、Map、Set三個介面,存取元素,各有什麼特點

首先,List與Set具有相似性,他們都是單列元素的集合,所以他們有一個共同的父介面——-Collection,然後Map是雙列集合

2.1 Set無序不可重複

Set集合中不能有兩個相同的物件,當往集合Set放一個值之後,會有一個boolean的返回值,如果為false則說明集合中已經存在,則放入失敗。因為是無序的,所以在我們遍歷的時候,只能透過iterator逐個遍歷各個元素。

2.2 List有序可重複

可以往裡面存放相同的值,並且預設是按照順序存放的,遍歷集合的時候既可以透過iterator遍歷,也可以透過get(i)來取具體第幾個元素。

2.3.Map

Map每次儲存時,要儲存一堆key/value,不能儲存重複的key,獲取value值既可以透過get(key)獲取,也可以單獨獲取所有的key值,或者value值,也可以透過Map。Entry獲取key,value。

3.S

S

透過equals()方法進行判斷。

et裡面的元素既然不能重複,那用什麼來區分是否重複的?

1。ArrayList是基於動態陣列的資料結構,LinkedList基於連結串列的資料結構

2。對於隨機訪問get和set,ArrayList優於LinkedList,因為LinkedList要移動指標

3。對於新增和刪除操作add和remove,LinkedList比較佔優勢,因為ArrayList要移動資料,尾部處理例外。

4.ArrayList和LinkedList的區別?

1。Array可以容納基本型別和物件,而ArrayList只能容納物件

2。Array是指定大小的,而ArrayList的大小是固定的,可自動擴容

面試官:你對java集合瞭解嗎

知是行之始,行是知之成。