1. 程式人生 > >List、Set、Map集合大雜燴

List、Set、Map集合大雜燴

鏈接 collect hid 鍵值 oar text 同步 二分 實現

java集合主要分三種:list、set、map;當中list和set都繼承自Collection接口,兩者最大差別是set不能包括反復元素

list的經常使用實現類有:

  • ArrayList:大小可變數組的實現
  • LinkedList:鏈接列表實現,元素增刪快,查找慢
  • Vector:線程安全的大小可變數組的實現

list經常使用的方法有:

add(E e); // 向列表的尾部加入指定的元素
clear(); // 從列表中移除全部元素
contains(Object o); // 推斷列表中是否包括指定元素
get(int index); // 返回列表中指定位置的元素。

isEmpty()

; // 假設列表不包括元素,則返回 true iterator(); // 返回包括列表中全部元素的叠代器 remove(int index); // 移除列表中指定位置的元素 set(int index, E element); // 用指定元素替換列表中指定位置的元素 size(); // 返回列表中的元素數 toArray(); //返回包括列表中全部元素的數組

set的經常使用實現類有:

  • HashSet:基於hash算法的set集合
  • LinkedHashSet:基於hash和鏈表算法的set集合
  • TreeSet:基於二叉樹算法的可排序set集合

set經常使用的方法有:

add(E e); // 假設set
中尚未存在指定的元素,則加入此元素 addAll(Collection c);
// 假設set中沒有指定 collection 中的全部元素。則將其加入到此set中(交集運算) clear(); // 移除此set中的全部元素 contains(Object o); // 假設set包括指定的元素,則返回 true isEmpty(); // 假設set不包括元素,則返回 true iterator(); // 返回包括set中全部元素的的叠代器 remove(Object o); // 假設set中存在指定的元素,則將其移除 removeAll(Collection c); //移除set中那些包括在指定 collection 中的元素(差集運算) retainAll(Collection c);
//僅保留set中那些包括在指定 collection 中的元素(並集運算) size(); // 返回set中的元素數 toArray(); //返回包括set中全部元素的數組

map的經常使用實現類有:

  • HashMap:基於hash的map實現
  • Hashtable:基於hash。線程安全的map實現

map經常使用的方法有:

clear(); // 從此映射中移除全部映射關系
containsKey(Object key); //推斷map中是否包括指定的key
entrySet(); //返回包括Map中全部元素的set集合
get(Object key); // 返回指定鍵所映射的值
isEmpty(); // 假設map不包括元素。則返回 true
keySet(); // 返回此映射中包括的鍵的Set視圖
put(K key, V value); //加入鍵值對
remove(Object key); // 移除指定的key
size(); //返回map中鍵值對總數
values(); // 返回此映射中包括的值的 Collection 視圖

Arrays

  • asList(T… a); // 將指定的數組轉換成list對象
  • binarySearch(…); // 使用二分搜索法找指定的對象。使用前須先對數組進行排序
  • equals(…); // 比較兩個數組是否一致
  • fill(…); //用指定值替代數組中的全部元素
  • sort(…); // 對數組進行排序

復制數組能夠使用 System.arraycopy(…)方法

Iterator

  • hasNext(); // 假設仍有元素能夠叠代。則返回 true
  • next(); // 返回叠代的下一個元素
  • remove(); // 移除叠代器返回的最後一個元素

Collections

  • sort(…); // 對指定集合進行排序
  • reverse(…); // 翻轉集合的順序
  • shuffle(…); // 對指定集合進行位置的隨機置換
  • fill(…); // 用指定值替代集合中的全部元素
  • max(…); // 返回集合中最大的元素
  • min(…); // 返回集合中最小的元素
  • frequency(…); // 返回指定值在集合中出現的次數
  • synchronizedList(…)、synchronizedSet(…)、synchronizedMap(…); //返回支持同步的List、Set或Map
  • unmodifiableList(…)、unmodifiableSet(…)、unmodifiableMap(…);
    //返回不可改動的List、Set或Map

List、Set、Map集合大雜燴