java中List聚集及其遍歷詳解。本站提示廣大學習愛好者:(java中List聚集及其遍歷詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是java中List聚集及其遍歷詳解正文
1. 起首List<E>聚集繼續與Collection<E>,是一個接口。
① Collection (聚集框架是JDK1.2版本湧現的)
② list:是有序的,元素可以反復,認為該聚集系統有索引。
常常用到的是完成該接口的ArrayList和LinkedList類
③ Arraylist: 底層的數據構造應用的是數組構造,
特色: 查詢速度很快,然則增刪稍慢。線程分歧步
LinkedList: 底層應用的是鏈表數據構造。
特色: 增刪速度很快,查詢稍慢。
Vector:(JDK1.0版本湧現的) 底層是數組數據構造,線程同步。被ArrayList替換了。(曾經不消了)
2. List的兩種遍歷方法:
public class Demo { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("A"); list.add("B"); list.add("C"); System.out.println("........第一種遍歷方法:for遍歷......"); for (Object li : list) { System.out.println(li); } System.out.println("........第二種遍歷方法:ListIterator迭代遍歷......"); ListIterator<String> it = list.listIterator(); while (it.hasNext()) { Object obj = it.next(); System.out.println(obj); } } }
後果圖:
3.應用LinkList模仿一個客棧或許隊列數據構造。即: 客棧:先輩後出 ; 隊列: 先輩先出
class Duilie{ private LinkedList<Object> link; Duilie(){ link = new LinkedList<Object>(); } public void myAdd(Object obj){ link.addFirst(obj); } public Object myGet(){ return link.removeLast();//先輩先出---若要改成先輩後出,將removelast()改成removeFirst() } public boolean isNull(){ return link.isEmpty(); } } public class Demo2 { public static void main(String[] args) { Duilie dl = new Duilie(); dl.myAdd("java01"); dl.myAdd("java02"); dl.myAdd("java03"); dl.myAdd("java04"); while(!dl.isNull()){ System.out.println(dl.myGet()); } } }
後果圖:
以上為 先輩先出,若要改成先輩後出,則依據代碼中寫的改一下便可以了
以上所述就是本文的全體內容了,願望年夜家可以或許愛好。