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...