中软Java学习第八天笔记之队列和栈

java.util 接口 Queue<E>  
         在处理元素前用于保存元素的 collection
         队列通常(但并非一定)以 FIFO(先进先出)的方式排序各个元素

          E peek()     获取但不移除此队列的头;如果此队列为空,则返回 null
          E poll()     获取并移除此队列的头,如果此队列为空,则返回 null
          boolean offer(E e)       将指定的元素插入此队列
          
          通过peek()和poll()方法,可以找到Queue的列头,因此说Queue是有序的  (但是集合中的element没有索引值)


java.util 接口 Deque<E>   
        支持在两端插入和移除元素。名称 deque 是“double ended queue(双端队列)

java.util.concurrent 类 LinkedBlockingQueue<E>               

           Blocking是阻塞等待的意思
                 如程序调用,当方法没有返回值的时候,调用者无法向下运行代码

           Non Blocking是非阻塞的意思
                 如程序调用,无需等待方法的返回值,调用者直接向下运行代码     (通常是多线程模式)






java.util 类 Stack<E>     它的父接口是java.util接口 List<E>
     Stack 类表示后进先出(LIFO)的对象堆栈。
     Stack的父类是Vector
     E peek()
          查看堆栈顶部的对象,但不从堆栈中移除它
     E pop()
          移除堆栈顶部的对象,并作为此函数的值返回该对象
     E push(E item)
          把项压入堆栈顶部




java.util 类 Vector<E>   与 ArrayList
       Vector 类可以实现可增长的对象数组
       Vector 是线程同步的
       ArrayList是非线程同步的,如需线程同步,采用List list = Collections.synchronizedList(new ArrayList(...));

       结论:优先使用ArrayList。
             ArrayList的设计初衷就是替换Vector,用于提高性能


 

















                      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值