理解总结篇—List、Set、Map
List是存儲對象的容器,可以存儲任意類型的對象且長度可變,List的存儲對象是有順序的,可重復的。
<1> List的接口框架
? ? ArrayList實現類通過數組實現,在向集合中增加或刪除時,需要對集合進行增容和拷貝,所以增刪慢;而數組可以直接通過索引進行查找,所以查詢快;一般查詢多增刪少的,優先選擇ArrayList集合。
? ? LinkedList實現類通過鏈表實現,在向集合中增加或刪除時,無需擴容,所以增刪快;但是不能通過索引進行定位查找,需要檢索全部,所以查慢;一般增刪多查詢少的,優先選擇LinkedList集合。
? ? Vector實現類也是通過數組實現,是線程安全的,所以一般效率較ArrayList低。
<2> List接口的方法
? ? 增加? ? add(Object object); 將指定對象存儲到List容器中。addAll(List list); 將指定集合中的元素存儲到List容器中。
? ? 刪除? ? remove(Object object); 將指定對象從容器中移除。removeAll(List list); 移除容器中與指定集合中的元素相同的元素。clear(); 清空容器中的所有元素。
? ? 修改? ? set(Integer index,Object object); 將容器中指定位置的元素修改成指定元素。
? ? 判斷? ? isEmpty(); 判斷容器是否為空。contains(Object object); 判斷容器中是否包含指定對象。containsAll(List list); 判斷容器中是否包含指定集合中的所有元素。
? ? 獲取? ? size(); 獲取容器元素的數量。get(Integer index); 獲取指定位置的元素。indexOf(Object object); 獲取指定對象的位置索引,沒有返回-1。lastIndexOf(Object object); 獲取指定對象在容器中最后一次存儲位置的索引。
Set也是存儲對象的容器,可以存儲任意類型的對象且長度可變。
<1> Set的接口框架
? ? HashSet實現類按照哈希算法來存取對象的,是無序的,不可重復,但是null和"null"同時存在,會顯示[null,null],是Set接口的最優實現,其底層實現依賴于HashMap的鍵不能重復特性,
? ? TreeSet實現類使用紅黑樹來存儲元素,實現了sortedSet接口,是有序存儲和訪問,不能寫入null。
? ? LinkedHashSet實現類也是按照哈希算法存取對象的,是有序的,不可重復,但是null和"null"同時存在,會顯示[null,null],其底層依賴于LinkedHashMap。
<2> Set接口的方法
? ? 并? ? ? ? addAll(Set set); 將指定集合中的元素并入容器中,并去重。
? ? 交? ? ? ? retainAll(Set set); 將指定集合中元素與容器中元素取交集。
? ? 刪除? ? removeAll(Set set); 移除容器中與制定集合中的元素相同的元素。remove(Object object); 將指定對象從容器中移除。
? ? 判斷? ? isEmpty(); 判斷容器是否為空。contains(Object object); 判斷容器是否包含指定對象。containsAll(Set set); 判斷容器是否包含指定集合的所有元素。clear(); 清空容器中的所有元素。
? ? 獲取? ? iterator(); 遍歷容器中的元素。
Map也是存儲對象的容器,以鍵-值的形式存儲對象,鍵對象不可重復可為null,值對象可重復可為null。
<1> Map的接口框架
? ? HashMap實現類按照哈希算法存取鍵對象,無序的且不可重復
? ? TreeMap實現類使用紅黑樹存儲鍵對象,有序的
<2> Map接口的方法
? ? 獲取? ? get(Object key); 根據指定的key對象獲取容器中鍵對應的值。entrySet(); 將容器中的所有鍵值對以key=value的形式保存在Set集合中。keySet(); 將容器中的所有鍵對象保存在Set集合中。?iterator(); 遍歷容器中的元素
? ? 添加? ? put(Object key,Object value); 將指定的鍵值對添加到容器。
? ? 刪除? ? remove(Object key); 移除容器中與指定key對象相同的鍵值對。
? ? 判斷? ? isEmpty(); 判斷容器是否為空。contains(Object object); 判斷容器是否包含指定對象。containsAll(Set set); 判斷容器是否包含指定集合的所有元素。clear(); 清空容器中的所有元素。
? ??
? ? ? ? ?
? ??
? ??
? ??
轉載于:https://www.cnblogs.com/zzb-yp/p/10384387.html
總結
以上是生活随笔為你收集整理的理解总结篇—List、Set、Map的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5 之 简单汇总
- 下一篇: 图像处理中常见的时域与频域区别与关系