注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

民主与科学

独立之人格,自由之思想

 
 
 

日志

 
 

LinkedList  

2011-11-11 08:51:58|  分类: JAVA集合容器 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 java.util.LinkedList(链表)-是双向链表,每个节点都有两个指针指向上一节点和下一节点。
 对顺序访问进行了优化。在List中间插入和删除元素的代价也不高。

 随机访问的速度相对较慢。此外它还有 addFirst(),addLast(),getFirst(),getLast(),removeFirst()和removeLast()等方法
 (这些方法,接口和基类均未定义),你能把它当成栈(stack),队列(queue)或双向队列(deque)来用。
 用LinkedList做一个栈
 “栈(stack)”有时也被称为“后进先出”(LIFO)的容器。
 用addFirst()/removeLast()
 就是说,最后一个被“压” 进栈中的东西,会第一个“弹”出来。
 LinkedList的方法能直接实现栈的功能,所以你完全可以不写Stack而直接使用LinkedList。
 如果你只想要栈的功能,那么继承就不太合适了,因为继承出来的是一个拥有LinkedList的所有方法的类。
 用LinkedList做一个队列
 队列(queue)是一个“先进先出”(FIFO)容器。
 用addLast()加入元素 removeFirst()删除元素。
 就是,你把一端把东西放进去,从另一端把东西取出来。所以你放东西的顺序也就是取东西的顺序。
 LinkedList有支持队列的功能的方法,所以它也能被当作Queue来用。
   还能很轻易地用LinkedList做一个deque(双向队列)。
 很像队列,只是你可以从任意一端添加和删除元素。
 注意1:LinkedList不是线程序安全的,不是同步的 。可以使用
Collections.synchronizedList()来进行同步处理.
  示例如下:
   List list = Collections.synchronizedList(new ArrayList(...));
 注意2:他支持List接口的所有操作。
  评论这张
 
阅读(744)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017