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

民主与科学

独立之人格,自由之思想

 
 
 

日志

 
 

ArrayList  

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

  下载LOFTER 我的照片书  |
java.util.ArrayList是一个用数组实现的List。能进行快速的随机访问,但是往列表中间插入和删除元素的时候比较慢。
  ListIterator用在反向遍历ArrayList的是合适的,但不要用它来插入和删除元素,因为向数组插入和删除元素比较慢。
  ArrayList的实现不是synchronized的. 如果多个线程访问一个ArrayList实例,并且至少有一个会对它进行修改的话,
  就必须对它使用外部
synchronized . (A structural modification is any operation that adds or deletes one or more elements, 
  or explicitly resizes the backing array; merely setting the value of an element is not a structural modification.) 
  This is typically accomplished by synchronizing on some object that naturally encapsulates the list. 
  If no such object exists, the list should be "wrapped" using the Collections.synchronizedList  method. 
  This is best done at creation time, to prevent accidental unsynchronized access to the list:
  示例如下:
   List list = Collections.synchronizedList(new ArrayList(...));
  注意1:ArrayList是线程序不安全的,不是同步的 。
  注意2:他支持List接口的所有操作。
  注意3:它允许null的元素。
  示例
   ArrayList<Integer> list=new ArrayList();
   
for(int i=1;i<6;i++)
    list.add(new Integer(i));
   list.add(null);
   ListIterator<Integer> lt=list.listIterator(list.size());
   
while(lt.hasPrevious())
    System.out.println(lt.previous());

  输出结果为,
  null
  5
  4
  3
  2
  1


  评论这张
 
阅读(683)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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