Java面試容器,collection,list,set


 

1.容器指的是可以容納其他對象的對象。

2.collection/set/list的聯系和區別?

(1)collection是Java集合頂級接口,存儲一組不唯一,無序的對象;

(2)list接口和set接口是collections接口的兩個子接口;

(3)list存儲一組不唯一,有序(插入順序)的對象;

     Set接口存儲一組唯一,無序的對象;

 

 

 

3.set和list的特點與區別?

  (1)list:

   1)是有序的collection,使用此接口能夠精確的控制每個元素插入的位置。用戶能夠使用索引來訪問list中的元素,這類似於Java的數組。

2)凡是可以操作索引的方法都是list接口特有方法。

(2)set:

1)接口存儲一組唯一、無序的對象(存入和取出的順序不一定一致)。

2)操作數據的方法與list類似,set接口不存在索引相關的方法。

4.collection接口常用的方法;

Add(Object obj);添加,存儲的是對象的引用;

Size():容器中實際的元素個數;

Remove(Object obj):刪除一個元素;

Remove(Collection c):刪除與集合C中元素相同的元素;

RetainAll(Collection c):只保留當前集合與集合C中的相同的元素;

Contains(Object obj):判斷集合中是否存在元素obj;

isEmpty():判斷集合是否為空;

Iterator():生成此集合的迭代器;

5.addAll(c)是把集合C中的元素添加到集合C2里;

Collection c = new HashSet();

Collection c2 = new HashSet();

Apple a = new Apple();

c.add(a);

c2.addAll©;

//增加另一個容器中的所有元素!

C2.add(c)是把集合c當做一個元素添加到集合c2里;

Collection c = new HashSet();

Collection c2 = new HashSet();

c.add(a);

c2.add(c);

6:

Object[] o0bjArr = new Object[5];

objArr[0] = 56;

objArr[1] = 123;

objArr[2] = “HelloWorld”;

objArr[3] = new Dog();

objArr[4] = new Cat();

7.  List中

Add(int index,E element):把元素element添加到索引為index的位置;

Get(int index):得到索引為index的元素。

8.ArrayList和LinkedList:

兩者都實現了list接口,都具有list中元素有序、不唯一的特點。

ArrayList實現了長度可變的數組,在內存中分配連續空間。遍歷元素和隨機訪問元素的效率比較高;

 

0

1

2

3

4

5

 

aaaa

dddd

cccc

aaaa

eeee

dddd

 

LinkedList采用鏈表存儲方式。插入、刪除元素時效率比較高。

 

 

9.ArrayList實現了長度可變的數組,在內存中分配連續空間,遍歷元素和隨機訪問元素的比較高。

add(int index,Object obj)

addAll(int index,Collections c)

remove(int index)

set(int index,Object obj):使用元素obj替代索引位置上的元素。

Get(int index)

subList(int beginIndex,int endIndex);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM