итератор списка Java - PullRequest
       11

итератор списка Java

0 голосов
/ 26 января 2012

Я пишу код для двух списков целых чисел и итераторов для каждого.Второй построен как перевернутый первый.

У меня проблема с отображением значений второго с использованием итератора.Как это исправить (обратите внимание, что я использовал простой для итерации, и он работает, но хочу сделать это с итератором).

import java.util.*;

public class Ch11Ex12 {
      public static void main(String[] args) {

            List<Integer> li = new ArrayList<Integer>();
            li = Arrays.asList(1, 6, 4, 7);
            //List<Integer> li2 = new ArrayList<Integer>();
            int z = li.size();
            List<Integer> li2 = new ArrayList<Integer>();

            /**
            for (int index = 0; index < ints.length; index++)
            {
                li.add(ints[index]);
            }
            **/
            ListIterator<Integer> it = li.listIterator(z);
            ListIterator<Integer> it2 = li2.listIterator();         
            while(it.hasPrevious()){
                //System.out.print(it.previous() + " ");
                int k = it.previous();
                System.out.print(k + " ");
                li2.add(k);
            }
            /**
            for (int f = 0; f < li2.size(); f++){
                System.out.println(li2.get(f));
            }
            **/
            while(it2.hasNext()){
                int p = it2.next();
                System.out.print(p + " ");
            }       
     }
}

1 Ответ

4 голосов
/ 26 января 2012

Определите ваш второй итератор it2 после заполнения li2.

        ListIterator<Integer> it = li.listIterator(z);       
        while(it.hasPrevious()){
            //System.out.print(it.previous() + " ");
            int k = it.previous();
            System.out.print(k + " ");
            li2.add(k);
        }

        /**
            Now that I have filled li2, I create my ListIterator it2.
        **/
        ListIterator<Integer> it2 = li2.listIterator();  
        while(it2.hasNext()){
            int p = it2.next();
            System.out.print(p + " ");
        }  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...