修改迭代器以显示接收顺序中的元素

时间:2015-03-30 03:00:46

标签: java sorting data-structures key iterable

我无法按照输入的顺序打印元素。我的程序正在读取.txt文件。

我正在使用Queue存储我认为是FIFO的元素。但是当我运行我的程序时,我得到了相反顺序的元素。我以为我会尝试使用优先级队列,但我会按字母顺序排序。

如果有人有任何想法或指示我应该去寻找答案,我真的很感激。感谢。

public Iterable<Key> keys()  
{
    Queue<Key> queue = new Queue<Key>();

    for (Node x = first; x != null; x = x.next)

   queue.enqueue(x.key);

    return queue;
}

1 个答案:

答案 0 :(得分:0)

使用队列的poll()方法应该以先进先出的方式返回head元素。

import java.util.*;

public class ReturnQueue 
{
public static void main(String[] args)
{
    Queue<Integer> myQueue = new LinkedList<Integer>();
    myQueue.add(12);
    myQueue.add(8);
    myQueue.add(9);
    myQueue.add(10);

    for (int i = 0; i < 4; i++)
    System.out.println(myQueue.poll());
}
}

这将按照添加的顺序在不同的行上返回12 8 9 10.