1. 程式人生 > >Java集合體系

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 : 有錯誤的還望各位大佬指正,小弟不勝感激