java类集之List



 程序想删除一个A对象,List将会调用该A对象的equals方法依次与结婚元素进行比较,如果该equals方法以某个集合元素为参数时返回true,List将会删除该元素——A重写了equals方法,该方法总是返回true。所以我们每次从List集合中删除A对象,总是删除List集合中的第一个元素。

       List提供了一个listIterator()方法,该方法返回一个ListIterator对象。ListIterator对象增加了向前迭代的功能(Iterator只能向后迭代),而且ListIterator还可以通过add方法向List集合中添加元素(Iterator只能删除元素)。

例子:




 

 

ArrayList和Vector实现类:

         ArrayList和Vector都是基于数组实现的List类,所以ArrayList和Vector类封装了一个动态的、允许再分配的Object[]数组。ArrayList或Vector对象使用initialCapacity会自动增加。如果创建空的ArrayList或Vector集合时,不指定initalCapacity参数,则Object[]数组的默认长度是10.

         ArrayList是非线程安全的,Vecor是线程安全的,所以性能上较ArrayList低。实际上,即使需要保证list集合线程安全,也同样不推荐使用Vector,因为Collections类可以将一个ArrayList变成线程安全的。
         LinkedList也是List的实现类,它是一个基于链表实现的List类,对于顺序访问集合中的元素进行优化,特别是插入删除元素时速度非常快。LinkedList即实现了List接口,也实现了Deque接口,由于实现了Deque接口,因此可以作为栈来使用。

 

固定长度的List:

       在数组的工具类Arrays中,提供了一个asList(Object ……a)方法,该方法可以把一个数组或指定个数的对象转换成一个List集合。这个List集合既不是ArrayList实现类的实例,也不是Vector实现类的实例,而是Arrays的内部类ArrayList实例。

        ArrayList是一个固定长度的List集合,程序只能遍历访问该集合里的元素,不可增加,删除该集合里的元素。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值