一、Collection接口中的方法介紹
- int size();返回此Collection中的元素數
- boolean isEmpty(); 判斷是否為空
- boolean containsAll(Collection c);判斷形參c所指向的集合中的所有元素是不是已經全部包含在了當前集合中,是true,不是flase
- Iterator iterator();返回能遍歷當前集合所有元素的迭代器
- Object[] toArray();容器不是數組,不能通過下標的方式訪問容器中的元素,返回一個包含此Collection中所有元素的數組。
- bollean add(Object e); 把e添加到當前集合中
- boolean remove(Object o); boolean addAll(Collection c)
- boolean removeAll(Collection c);
- void clear();
- boolean equals(Object o);
- int hashCode();
二、List接口ArrayList LinkedList
- Object get(int index);
- Object set(oint index, Object element);
- void add(int index, Object element);
- Object remove(int index);
- int indexOf( Object o);
- int lastIndexOf(Object o);
三、Set接口
- 因為Set和List都是繼承自Collection接口,所以Set和List中很多方法都是一樣的。
- List接口中有add,set,indexOf方法,但Set中只有add方法,沒有set,indexOf方法,因為Set是無序不可重復的,不存在某元素具體位置這個概念
四、Map接口
- Object put(Object key,Object value);
- Object get(Object key);
- boolean isEmpty();
- void clear();
- int size();
- boolean containsKey(Object key);
- boolean containsValue(Object value);
注意一個Map的一個Map.Entry接口,其中含有getKey(),getValue方法
(1) Object getKey(): 返回條目的關鍵字
(2) Object getValue(): 返回條目的值
(3) Object setValue(Object value): 將相關映像中的值改為value,並且返回舊值
此處再說兩種圖的遍歷方法:
Map map = new HashMap(); Irerator iterator = map.entrySet().iterator(); while(iterator.hasNext()) { Map.Entry entry = iterator.next(); Object key = entry.getKey(); }
Map map = new HashMap(); Set keySet= map.keySet(); Irerator iterator = keySet.iterator; while(iterator.hasNext()) { Object key = iterator.next(); Object value = map.get(key);
}
Map map = new HashMap(); Collection c = map.values(); Iterator iterator = c.iterator(); while(iterator.hasNext()) { Object value = iterator.next(); }
五、Collections類的方法
Collection接口的實現類,比如ArrayList,LinkedList本身並沒有提供排序、倒置和查找的方法,這些方法由Collections類來實現,該類有很多 static public 方法,可以直接對Collections接口的實現類進行操作。
- void sort(List); 對List容器內元素進行排序
- void shuffle(List); 對List容器內對象進行隨機排序
- void reverse(List); 對List容器內對象進行逆序排序
- rotate(List list,int m)方法的使用(含義:集合中的元素向后移m個位置,在后面被遮蓋的元素循環到前面來)
- void fill(List, Object);用一個特定的對象重寫整個List容器
- nCopies(int n,Object o)方法的使用(含義:返回大小為n的List,List不可改變,其中的所有引用都指向o)
- enumeration(Collection)方法的使用(含義:為參數生成一個舊式的Enumeration)
- void copy(List dest, List src); 講src List容器的內容拷貝到dest List容器中
- swap(List list,int i,int j)方法的使用(含義:交換集合中指定元素索引的位置)
- int binarySearch(List ,Object); 對順序的List容器,采用折半查找的方法查找特定對象
- max(Collection),max(Collection,Comparator)方法的使用(前者采用Collection內含自然比較法,后者采用Comparator進行比較)
- min(Collection),min(Collection,Comparator)方法的使用(前者采用Collection內含自然比較法,后者采用Comparator進行比較)
- indexOfSubList(List list,List subList)方法的使用(含義:查找subList在list中首次出現位置的索引)。
- lastIndexOfSubList(List source,List target)方法的使用與上例方法的使用相同,在此就不做介紹了
- replaceAll(List list,Object old,Object new)方法的使用(含義:替換批定元素為某元素,若要替換的值存在剛返回true,反之返回false)
- list(Enumeration e)方法的使用(含義:返回使用Enumeration生成的ArrayList,用來轉換遺留的老代碼)