2015-09-13 19 views
5

Java Koleksiyonlarında yeniyim ve şüphem neden bağlantı listesindeki bir öğeyi geriye doğru yönde değiştiremiyorum. Ne yaptığımı açıklayacağım ve lütfen şüphelerimi açıklığa kavuşturacağım.LinkedList öğelerini ters sırada yineleme nasıl yapılır?

  1. I arayüz ileri tekrarlamalar için yineleyici ve geri tekrarlamalar için listiterator oluşturduk. Neden geriye doğru iterasyonlar çalışmıyor?
  2. i ileri ve geri iterasyonlarında elementlerden oluşan bir dizi çapraz aynı programda yineleyici ve listiterator arayüzü kullanılamaz?

    Kod Parçacığı: Geriye Iterasyon için çıkış olduğunu

    import java.util.*; 
    class NewClass{ 
    public static void main(String args[]){ 
        LinkedList<String> obj = new LinkedList<String>(); 
    
        obj.add("vino"); 
        obj.add("ajith"); 
        obj.add("praveen"); 
        obj.add("naveen"); 
    
        System.out.println(obj); 
    
        System.out.println("For loop "); 
        //using for loop 
        for(int count=0; count < obj.size(); count++){ 
        System.out.println(obj.get(count)); 
        } 
        System.out.println("For each loop "); 
    
        //using foreach loop 
        for(String s:obj){ 
        System.out.println(s); 
        } 
        System.out.println("Whileloop "); 
    
        //using whileloop 
        int count=0; 
        while(obj.size() > count){ 
         System.out.println(obj.get(count)); 
        count++; 
        } 
        System.out.println("Forward Iterations "); 
        //using iterator 
        Iterator it = obj.iterator(); 
        while(it.hasNext()){ 
        System.out.println(it.next()); 
        } 
        ListIterator lit = obj.listIterator(); 
        System.out.println("Backward Iterations"); 
        while(lit.hasPrevious()){ 
        System.out.println(lit.previous()); 
         } 
        } 
    } 
    

    Çıktı

    [vino, ajith, praveen, naveen] 
    For loop 
    vino 
    ajith 
    praveen 
    naveen 
    For each loop 
    vino 
    ajith 
    praveen 
    naveen 
    Whileloop 
    vino 
    ajith 
    praveen 
    naveen 
    Forward Iterations 
    vino 
    ajith 
    praveen 
    naveen 
    Backward Iterations 
    

? Önceden Lütfen herkes yardım me.thanks

+0

Son liste öğesinden yinelemeye başladığınızdan emin misiniz? –

cevap

4

Bunu yapabilirsin istiyorum düşünüyorum, ama size belirtmek için yöntem listIterator(int index) kullanmak gerekir List'un sonunda başlamak istiyorum.

LinkedList<String> obj = new LinkedList<String>(); 

obj.add("vino"); 
obj.add("ajith"); 
obj.add("praveen"); 
obj.add("naveen"); 

ListIterator<String> it = obj.listIterator(obj.size()); 
while (it.hasPrevious()) 
    System.out.println(it.previous());