List接口:
list接口是Collection接口的子類,其繼承了Collection接口的所有方法,但也有其獨有的方法,不過在迭代的時候不要進行任何操作。牢記數據存儲的四種結構:堆棧、隊列、數組、鏈表,並指導其區別和適合用於什么場景下。特別注意的是LinedList接口中判斷是否為空的時是判斷的里面元素是否為空,只有當定義的時候(new)為Null才表示該集合不存在的,是空指針異常的。至於Vector集合,了解其被ArrayList代替了,其迭代方法(枚舉:Enumeration)被Iterator代替。
List接口介紹:
1、List接口是Collection接口的子類;
2、它是一個元素存取有序的集合(不是正序和倒序的,是怎么存就怎么取);
3、它是一個帶有索引的集合,通過索引就可以精確的操作集合中的元素(與數組中的索引是一個道理);
4、集合中可以有重復的元素,通過元素的equals方法,來比較是否為重復的元素;
5、常用的子類有:ArrayList集合、LinkedList集合。
List集合中常用的方法:
import java.util.ArrayList; import java.util.List; public class Demo01 { public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("123"); list.add("abs"); //指定位置插入
list.add(1,"456"); //刪除指定位置的元素
String s=list.remove(1); System.out.println("刪除的元素為:"+s); //替換指定位置上的元素
String str=list.set(0, "小明"); System.out.println("替換的元素為:"+str); //遍歷
for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } } }
1、增加元素方法
①、 add(Object e):向集合末尾處,添加指定的元素
②、add(int index, Object e):向集合指定索引處,添加指定的元素,原有元素依次后移
2、 刪除元素刪除
①、 remove(Object e):將指定元素對象,從集合中刪除,返回值為被刪除的元素
②、 remove(int index):將指定索引處的元素,從集合中刪除,返回值為被刪除的元素
3、替換元素方法
①、set(int index, Object e):將指定索引處的元素,替換成指定的元素,返回值為替換前的元素
4、 查詢元素方法
①、 get(int index):獲取指定索引處的元素,並返回該元素
List集合存儲數據的結構:
數據存儲的常用結構:堆棧、隊列、數組、鏈表。
1、堆棧:(子彈夾)
先進后出(堆棧的入口、出口都是堆棧的頂端位置);存元素為壓棧,取元素為彈棧。
2、隊列:(過安檢)
先進先出(隊列的入口、出口各占一側)。
3、數組(長度不可變):
查找元素快(通過索引)、增刪元素慢(需要創建新的數組)。
4、鏈表(多個節點之間,通過地址進行連接):
查找元素慢(需要通過連接的節點,一次向后查找)、增刪元素快
ArrayList集合:
ArrayList集合數據存儲的結構是數組結構(適合查詢的時候用);
LinkedList集合:
LinedList集合數據存儲的結構是鏈表結構(適合增刪的時候用);
import java.util.LinkedList; public class Demo03 { public static void main(String[] args) { LinkedList<String> arr=new LinkedList<String>(); arr.addFirst("a"); arr.addFirst("b"); arr.addLast("c"); arr.addLast("d"); /*for(String s:arr){ System.out.println(s); }*/
//獲取集合中第一個元素
System.out.println("集合中第一個元素為:"+arr.getFirst()); //獲取最后一個
System.out.println("集合中最后一個元素為:"+arr.getLast()); //刪除第一個
arr.removeFirst(); arr.removeFirst(); //刪除最后一個
arr.removeLast(); for(String s:arr){ System.out.println(s); } //集合里不為空時打印
if(!arr.isEmpty()){ System.out.println("該集合不為空"); } } }
Vector集合
Vector集合數據存儲的結構是數組結構,為JDK中最早提供的集合。Vector中提供了一個獨特的取出方式,就是枚舉Enumeration,它其實就是早期的迭代器。此接口Enumeration的功能與 Iterator 接口的功能是類似的。
Vector集合已被ArrayList替代。枚舉Enumeration已被迭代器Iterator替代。