Java集合體系
一、集合體系
二、集合分類以及特性
三、Collection介面方法
Collection是最基本的集合介面,一個Collection代表一組 Object,即Collection的元素(Elements)。一些Collection允許相同的元素而另一些不行。一些能排序而另一些不行,於是衍生出兩個子類介面List和Set
1.新增功能
boolean add(Object obj)向集合中新增一個元素
boolean addAll(Collection c) 向集合中新增一個集合的元素
2.刪除功能
void clear():刪除集合中的所有元素
boolean remove(Object obj):從集合中刪除指定的元素
boolean removeAll(Collection c):從集合中刪除一個指定的集合元素
3.判斷功能
boolean isEmpty():判斷集合是否為空
boolean contains(Object obj):判斷集合中是否存在指定的元素
boolean containsAll(Collection c):判斷集合中是否存在指定的一個集合中的元素
4.遍歷功能
Iterator iterator():就是用來獲取集合中每一個元素
5.長度功能
int size():獲取集合中的元素個數
6.交集功能
boolean retainAll(Collection c):判斷兩個集合中是否有相同的元素
7.把集合轉換成陣列
Object[] toArray(): 把集合變成陣列
T[] toArray(T[] a) : 把集合變成陣列(指定陣列型別)
四、List介面方法
List介面下的集合元素儲存有序,可以重複.以下為List特有功能:
1.新增功能
void add(int index, Object obj):在指定位置新增元素
2.刪除功能
Object remove(int index):根據指定索引刪除元素,並把刪除的元素返回
3.修改功能
Object set(int index, Object obj):把指定索引位置的元素修改為指定的值,返回修改前的值
4.獲取功能
int indexOf(Object o):返回指定元素在集合中第一次出現的索引
Object get(int index):獲取指定位置的元素
ListIterator listIterator():列表迭代器
5.擷取功能
List subList(int fromIndex, int toIndex):擷取集合。左閉右開[0,200)
五、Map介面方法
1.新增功能
V put(K key ,V value) :當key在集合中不存在是,新增元素;當key存在時替換元素
2.判斷功能
boolean containsKey (Object key) :判斷指定的鍵是否在集合中存在
boolean containsValue(Object value):判斷指定的值是否在集合中存在
boolean isEmpty() :判斷集合是否為空
3.刪除功能
void clear():清除所有鍵值對資料
4.獲取功能
Object get (Object key) :根據鍵獲取值
Set entrySet() 獲取所有的Entry
Set keyset(): 所有鍵的集合
Collection values() :所有值的集合
5.長度功能
Int size()
六、集合的遍歷
1.list遍歷
1)普通for迴圈
List<User> list = new ArrayList<User>();
for(int i=0; i<list.size(); i++){
User user = list.get(i);
}
2)加強for迴圈
List<User> list = new ArrayList<User>();
for(User user : list){
System.out.println(user);
}
3)通過迭代器迴圈
List<User> list = new ArrayList<User>();
Iteratror<User> it = list.iterator();
while(it.hasNext()){
User user = it.next(); // 沒有宣告泛型的話,要強轉
}
2.map遍歷(map裡面是沒有iterator方法的,只能通過map.entrySet(), map.keySet(), map.values()得到)
1)通過map.entrySet()得到entrySet使用iterator遍歷
Map<Integer, String> map = new HashMap<Integer, String>();
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<Integer, String> entry = it.next();
Integer key = entry.getKey();
String value = entry.getValue();
}
2)通過map.entrySet()得到entrySet使用加強for迴圈
Map<Integer, String> map = new HashMap<Integer, String>();
Set<Map.Entry<Integer, String>> set = map.entrySet();
for(Map.Entry<Integer, String> entry : set){
Integer key = entry.getKey();
String value = entry.getValue();
}
3)通過map.keySet()得到keySet的加強for迴圈(KeySet也有iterator)
Map<Integer, String> map = new HashMap<Integer, String>();
Set<Integer> set = map.keySet();
for(Integer in : set){
Integer key = in;
String str = map.get(in);
}
4)通過map.values()得到values的加強for迴圈(但是好像拿不到key, Values也有iterator)
Map<Integer, String> map = new HashMap<Integer, String>();
Collection<String> values = map.values();
for(String value : values){
Integer in = value;
}
參考網址
注:文章是經過參考其他的文章然後自己整理出來的,有可能是小部分參考,也有可能是大部分參考,但絕對不是直接轉載,覺得侵權了我會刪,我只是把這個用於自己的筆記,順便整理下知識的同時,能幫到一部分人。
ps : 有錯誤的還望各位大佬指正,小弟不勝感激