Collection是最基本的集合接口,声明了适用于JAVA集合的通用方法,list和set都继承自collection接口。

Collection接口的方法

boolean add(Object o):向集合中加入一个对象的引用

void clear():删除集合中所有的对象,即不再持有这些对象的引用

boolean isEmpty():判断集合是否为空

boolean contains(Object o): 判断集合中是否持有特定对象的引用

Iterartor iterator():返回一个Iterator对象,可以用来遍历集合中的元素

boolean remove(Object o):从集合中删除一个对象的引用

int size():返回集合中元素的数目

Object[] toArray(): 返回一个数组,该数组中包括集合中的所有元素

关于:Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。

Collection没有get()方法来取得某个元素。只能通过iterator()遍历元素。

List的功能方法 

ArrayList,LinkedList,Vestor这三个类都实现了java.util.List接口

List:次序是List最重要的特点:它保证维护元素特定的顺序。

同步:

  ArrayList,LinkedList是不同步的,不安全的 。而Vestor是同步的,安全的,不考虑线程安全情况使用ArrayList,LinkedList,节省了同步的开销。多线程的情况下,有时候不得不考虑Vestor了。

数据增长 :

  内部实现机制下ArrayList和Vector都是使用Objec的数组形式来存储的,缺省扩容时ArrayList数组扩容1.5倍,Vector数组扩容2倍。

ArrayList:由初始为10的字符数组实现的List。指定下标允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。

一般大家都知道ArrayList和LinkedList的大致区别: 
     1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 
     2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 
     3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据,插入或删除一个元素意味着这个列表中剩余的元素都会被移动。

最新文章

  1. 分组 cube rollup NVL (expr1, expr2)
  2. 《Selenium2自动化测试实战--基于Python语言》 --即将面市
  3. zend guard6的使用
  4. juniper 550M訪问自身公网IP回流内部IP
  5. 使用 jQuery Deferred 和 Promise 创建响应式应用程序
  6. RabbitMQ链接不上异常
  7. [jobdu]从尾到头打印链表
  8. 如何给循环中的对象添加事件--深入理解JavaScript的闭包特性
  9. map的使用方法
  10. ios7毛玻璃效果实现
  11. Python图片处理库之PIL
  12. mysql进阶(二)索引简易教程
  13. iOS学习——页面的传值方式
  14. 上下div高度动态自适应--另类处理方案
  15. bug日记之-------java.io.IOException: Server returned HTTP response code: 400 for URL
  16. C#集合类型大揭秘 【转载】
  17. CentOS下puppet安装
  18. 3.11formdata的使用
  19. 2.在demo bag上运行cartographer ROS
  20. c# 记录内容到txt文件

热门文章

  1. 树形dp——cf1029E
  2. 在自己的工程中使用开源界面库Duilib
  3. js获取base64格式图片预览上传并用php保存到本地服务器指定文件夹
  4. 06-6-es6模板字符串
  5. Java实现数字大写转换
  6. HZOI20190803 B题
  7. Ionic 分享功能(微博 微信 QQ)
  8. ionic Hide tabs 实现
  9. leetcode 696
  10. vue 编写插件