2011-01-22 45 views
15

nếu tôi sử dụng vòng lặp cho mỗi danh sách được liên kết trong java, có đảm bảo rằng tôi sẽ lặp lại trên các phần tử theo thứ tự trong đó chúng xuất hiện trong danh sách không?java - lặp lại danh sách được liên kết

+3

** Có ** nó là .. –

Trả lời

9

Danh sách được liên kết được đảm bảo hoạt động theo thứ tự tuần tự.

Từ documentation

Một ra lệnh thu (còn được gọi là một chuỗi ). Người dùng của giao diện này có quyền kiểm soát chính xác vị trí trong danh sách mỗi phần tử được chèn vào. Người dùng có thể truy cập các yếu tố theo chỉ số số số nguyên của họ (vị trí trong danh sách), và tìm kiếm các yếu tố trong danh sách.

iterator() Trả về trình lặp qua các phần tử trong danh sách này theo đúng trình tự.

0

Mỗi thực hiện java.util.List được yêu cầu duy trì trật tự như vậy, hoặc bạn đang sử dụng ArrayList, LinkedList, Vector vv mỗi trong số họ được sắp xếp bộ sưu tập và mỗi người trong số họ giữ gìn trật tự chèn (xem http://download.oracle.com/javase/1.4.2/docs/api/java/util/List.html)

7

Như định nghĩa của Linkedlist nói, nó là một chuỗi và bạn được đảm bảo để có được các yếu tố theo thứ tự.

ví dụ:

import java.util.LinkedList; 

public class ForEachDemonstrater { 
    public static void main(String args[]) { 
    LinkedList<Character> pl = new LinkedList<Character>(); 
    pl.add('j'); 
    pl.add('a'); 
    pl.add('v'); 
    pl.add('a'); 
    for (char s : pl) 
     System.out.print(s+"->"); 
    } 
} 
18

tôi thấy 5 cách chính để lặp qua một danh sách liên kết trong Java (bao gồm cả Java 8 chiều):

  1. Đối Vòng
  2. Enhanced Đối Vòng
  3. Khi vòng lặp
  4. Iterator
  5. của Bộ sưu tập dòng() util (Java8)

Đối với loop

LinkedList<String> linkedList = new LinkedList<>(); 
     System.out.println("==> For Loop Example."); 
     for (int i = 0; i < linkedList.size(); i++) { 
      System.out.println(linkedList.get(i)); 
     } 

Tăng cường cho vòng lặp

for (String temp : linkedList) { 
      System.out.println(temp); 
     } 

Trong khi vòng lặp

int i = 0; 
     while (i < linkedList.size()) { 
      System.out.println(linkedList.get(i)); 
      i++; 
     } 

Iterator

Iterator Iterator = linkedList.iterator(); 
     while (Iterator.hasNext()) { 
      System.out.println(Iterator.next()); 
      } 

dòng bộ sưu tập() util (Java 8)

linkedList.forEach((temp) -> { 
      System.out.println(temp); 
     }); 
+0

Tuyệt vời. Tôi không biết về 'LinkedList.size()'. +1. – roottraveller

Các vấn đề liên quan