Java集合List常見方法

Java集合常見方法

1.集合

在說java中集合方法之前,先來了解一下什麼是集合,在學習使用集合之前,我們都學過數組的使用,他們的結構很相似,但是數組有很大的缺點,比如:
1.數組能使用的方法很少,如果非要使用,只能我們自己完成;
2.數據類型單一化,不支持多種情況,每次定義的數組只能是一種數據類型
3.數組容量不可修改,數組擴容能滿足,但是很繁瑣
在這種情況下,java中有了集合的存在:
1.方法多種多樣,基本功能完善;
2.數據類型支持多樣化,又不失數據類型一致要求
3.容量可以變

2.集合架構

我們平時在java中使用到的List、Set等集合的總接口都來自Collection,java中所有和集合有關的內容都是Collection接口的子接口或實現類

interface Collection
interface List 有序可重複
	class ArrayList<E> 可變長數組結構
	class LinkedList<E> 雙向鏈表結構
	class Vector<E> 線程安全的ArrayList
interface Set 無序不可重複
	HashSet<E> 哈希表方法
	TreeSet<E> 平衡二叉樹方式

3.集合常用方法

今天我們主要說一下List接口以及他的子類的常見方法:

ArrayList

增:

		add(E e); 添加元素到集合的末尾,尾插法
		addAll(Collection <? extends E> c);添加另一個集合到當前集合末尾,要求添加集合中保存的元素和當前集合中保存元素一致或是當前集合的子類
		add(int index, E e);在指定集合的下標位置,添加指定元素
		addAll(int index, Collection<? extends E> c);在指定下標位置添加指定集合

刪:

void clear();清空整個集合
remove(Object obj);刪除集合中的指定元素
removeAll(Collection <?> c);刪除兩個集合的交集
retainAll(Collection <?> c);保留兩個集合的交集
remove(int index);刪除指定下標的元素,返回被刪除的元素

改:

E set(int index, E e);使用指定元素提換指定下標index的元素,返回被替換的元素

查:

int size();有效元素個數
boolean isEmpty(); 判斷當前集合是否爲空
boolean contains(Object obj);查看指定元素
boolean containsAll(Collection<?> c);查看指定集合
int indexOf(Object obj);找出指定元素在集合中第一次出現位置
int lastIndexOf(Object obj);找出指定元素在集合中最後一次出現位置
E get(int index);獲取指定下標的元素
List<E> subList(int fromIndex, int endIndex);獲取當前集合的子集合,左閉右開

ArrayList集合查找很快,但是增刪很慢
因爲有下標的存在查詢速度非常快;
但是在增刪的過程中,涉及到數組擴容,元素的大量移動,導致效率很低,所以在使用的時候應該根據實際情況來選擇

LinkedList

增:

addFirst(E e);在鏈表的最前面插入一個元素
addLast(E e);在鏈表最後插入一個元素

刪:

removeFirst();刪除鏈表第一個元素
removeLast();刪除鏈表最後一個元素

查:

E getFirst();獲取鏈表第一個元素
E getLast();獲取鏈表最後一個元素

LinkedList和ArrayList有很多相同方法,因爲他們都是List的實現類,像add()、get()、remove()、set(),上面列舉的都是他們不相同的方法,LinkedList鏈表相對ArrayList正好是相反的,查詢慢,增刪快,正好給我們提供了不同的選擇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章