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);