Java中的集合Queue 原

package com.zhaogang.test;

import org.junit.Test;

import java.util.LinkedList;
import java.util.Queue;

/**
 * Created by weixiang.wu on 2017/10/9.
 */
public class TestQueue {

    /**
     * 在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。Queue接口与List、Set同一级别,都是继承了Collection接口。
     * Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优
     * 点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用
     * element()或者peek()方法。
     * 值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。
     */
    @Test
    public void testQueue() {
        Queue<String> queue = new LinkedList<>();
        queue.offer("hi,");
        queue.offer("world");
        queue.offer("!");
        String str;
        System.out.println(queue.size());
        while ((str = queue.poll()) != null) {
            System.out.println(str);
        }
        System.out.println(queue.size());
    }
}

输出结果: 

3
hi,
world
!
0

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

Java集合类操作优化经验总结

本文首先针对 Java 集合接口进行了一些介绍,并对这些接口的实现类进行详细描述,包括 LinkedList、ArrayList、Vector、Stack、Ha...

406170
来自专栏尾尾部落

[LeetCode]Degree of an Array 数组的度 [LeetCode]Degree of an Array 数组的度

链接:https://leetcode.com/problems/degree-of-an-array/description/ 难度:Easy 题目:69...

13120
来自专栏我是业余自学C/C++的

Remove Duplicates from Sorted Array II

18340
来自专栏Ryan Miao

在java中使用redis

在java中使用redis很简单,只需要添加jedist.jar,通过它的api就可以了。而且,api和redis的语法几乎完全相同。以下简单的测试: 参考:h...

67380
来自专栏恰童鞋骚年

剑指Offer面试题:12.在O(1)时间删除链表结点

  在单向链表中删除一个结点,最常规的做法无疑是从链表的头结点开始,顺序遍历查找要删除的结点,并在链表中删除该结点。这种思路由于需要顺序查找,时间复杂度自然就是...

8810
来自专栏吾爱乐享

#集合笔记二#list集合特有功能及案例迭代

19150
来自专栏java一日一条

如何用Map对象创建Set对象

Java中的Map和Set有不少相似之处。本文将分享一个把Map类转化成Set类的小技巧。

9810
来自专栏编程心路

在ArrayList的循环中删除元素,会不会出现问题?

在 ArrayList 的循环中删除元素,会不会出现问题?我开始觉得应该会有什么问题吧,但是不知道问题会在哪里。在经历了一番测试和查阅之后,发现这个“小”问题并...

66020
来自专栏移动端开发

Java集合类总结

前言: 这篇准备好好总结一下Java的集合类,在顺便带上Arrays,把这几者之间的关系说清楚,在java.util包中提供了一些集合类,这些集合类又被称作容...

33690
来自专栏desperate633

LintCode 用递归打印数字题目分析代码

recursion(i) { if i > largest number: return results.add(i) recursion(i + 1)...

8210

扫码关注云+社区

领取腾讯云代金券