Java語言基礎day14(List集合)

2021-09-22 16:40:13 字數 955 閱讀 5682

list概述及特點: 元素有序,並且每乙個元素都存在乙個索引.元素可以重複.

​ listiterator 繼承自iterator 可以使用iterator中的方法

​ a:listiterator的特有功能

​ boolean hasprevious(): 是否存在前乙個元素

​ e previous(): 返回列表中的前乙個元素

​ 以上兩個方法可以實現反向遍歷 但是注意 要完成反向遍歷之前 要先進行正向遍歷 這樣指標才能移到最後

​ 如果直接反向遍歷是沒有效果的 因為指標預設位置就在最前面 他前面沒有元素

concurrentmodificationexception出現

我們用iterator這個迭代器遍歷採用hasnext方法和next方法,集合修改集合 會出現併發修改異常

原因是我們的迭代依賴與集合 當我們往集合中新增好了元素之後 獲取迭代器 那麼迭代器已經知道了集合的元素個數

這個時候你在遍歷的時候又突然想給 集合裡面加乙個元素(用的是集合的add方法) 那迭代器不同意 就報錯了

解決方案 我們用listiterator迭代器遍歷 用迭代器自帶的add方法新增元素 那就不會報錯了

迭代器迭代元素,迭代器修改元素(listiterator的特有功能add)

集合遍歷元素,集合修改元素

資料結構其實就是儲存資料的格式

分類: 棧 , 佇列 , 陣列 , 鍊錶 , 樹 , 雜湊表

棧特點: 先進後出

佇列: 先進先出

arraylist:

底層資料結構是陣列,查詢快,增刪慢。

執行緒不安全,效率高。

vector:

底層資料結構是陣列,查詢快,增刪慢。

執行緒安全,效率低。

linkedlist:

底層資料結構是鍊錶,查詢慢,增刪快。

執行緒不安全,效率高。

day03 Java語言基礎

b 案例演示 邏輯運算子的基本用法 注意事項 c 結論 邏輯與 有false則false。邏輯或 有true則true。邏輯異或 相同為false,不同為true。邏輯非 非false則true,非true則false。b 同理 和 的區別?學生自學 c 開發中常用誰?b 案例演示 b 面試題 b ...

day05 Java語言基礎

b 陣列概念 c 陣列定義格式 資料型別 陣列名 new 資料型別 陣列的長度 b 如何對陣列進行初始化 b 靜態初始化 給出初始化值,由系統決定長度 c 動態初始化的格式 d 案例演示 b 堆 掌握 c 方法區 d 本地方法區 e 暫存器 b 案例演示 c 畫圖演示 b nullpointerex...

java 基礎 1 4 陣列

1.介紹 一組相同型別的引用集合,長度固定,永遠不可變,元素長度極限為 integer.maxvalue,下標從0開始,元素最後乙個值下標 array.length 1 2.建立 1.new string 2.new string int 3.4.array.newinstance comparet...