如何在同一语句中初始化队列

时间:2015-11-29 14:38:45

标签: java queue abstract-data-type

在数组中,可以按照以下方式在元素开头添加元素

int[] array = {1,2,3,4,5};

类似地如何向队列中添加多个条目?等,

Queue<Integer> queue = {1,2,3,4,5};

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

首先,您必须选择要实例化的Queue实现。假设您选择LinkedList(实现Queue)。

与任何集合一样,LinkedList有一个构造函数,它接受Collection并将Collection的元素添加到列表中。

例如:

Queue<Integer> queue = new LinkedList<>(Arrays.asList(new Integer[]{1,2,3,4,5}));

或(如PaulrBear正确评论):

Queue<Integer> queue = new LinkedList<>(Arrays.asList(1,2,3,4,5));

或者您可以利用Java 8 Streams:

Queue<Integer> queue = IntStream.of(1,2,3,4,5)
                                .boxed()
                                .collect(Collectors.toCollection(LinkedList::new));