程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java中List聚集及其遍歷詳解

java中List聚集及其遍歷詳解

編輯:關於JAVA

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());
    }
  }
}

 後果圖:

  以上為 先輩先出,若要改成先輩後出,則依據代碼中寫的改一下便可以了

以上所述就是本文的全體內容了,願望年夜家可以或許愛好。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved