单列集合List的实现类
生活随笔
收集整理的這篇文章主要介紹了
单列集合List的实现类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
List接口 [Collection】的子類
1.ArrayList【查詢快,增刪慢】
(1)ArrayList常見方法【部分】
(2)ArrayList底層實現思想
//List集合常用實現類ArrayList底層 public class Demo1 {public static void main(String[] args) {List<String> list = new ArrayList<>();2.默認長度為10,size指向0for (int i = 0; i < 10; i++) {list.add("你好");1.作第一次添加時,會做判斷,返回默認長度10}3長度超過10,size指向10,集合擴容1.5倍【將原來的數組拷貝到新的數組中】} }2.LinkedList【增刪快,查詢慢】
(1)LinkedList常見方法【部分】
(2)LinkedList底層實現思想
//List集合常用實現類linkedList底層【雙向】鏈表 public class Demo2 {public static void main(String[] args) {LinkedList<String> list = new LinkedList<>();for (int i = 0; i < 10; i++) {list.add("你好");//Node為其內部類1.作第一次添加時,會創建 Node<E>first,Node<E>Last記錄頭節點地址和最后一個節點地址2.添加會new一個Node新節點,將內容賦值給它,將頭尾地址指向它[第一次指向頭尾相同]3.再次做添加,則會再new Node<l,e,null>一個新節點,左指向會指向l[第一次添加的地址],Node<E>Last則會重新指向新節點的右指向}list.get(2);//獲取索引先判斷離頭近還是離尾近[通過index和size>>2來判斷]//然后從頭或者從尾一一查找} }3.List實現類三種遍歷方式
//迭代器遍歷,使用集合對象創建迭代器對象//一個類中一個迭代器對象只能用一次Iterator<String> it = list.iterator();while (it.hasNext()){String next = it.next();System.out.println(next);}//增強for遍歷for(String i:list){System.out.println(i);}//普通for遍歷for (int i = 0; i < list.size(); i++) {String s = list.get(i);System.out.println(s);}注:
增強for: 對集合進行遍歷時使用,遍歷過程中若要增刪元素則不能使用
普通for: 遍歷過程中需要增刪元素或操作索引時使用
迭代器: 遍歷過程中需要刪除元素時使用【一個類中一個迭代器對象只能用一次】
總結
以上是生活随笔為你收集整理的单列集合List的实现类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公司网络故障怎么处理(公司网络故障怎么处
- 下一篇: List集合相关应用