zoukankan      html  css  js  c++  java
  • Vector、Enumeration、ArrayList、Collection、Iterator、Set、List等集合类接口

    在Java编程中,经常会用到Vector、Enumeration、ArrayList、Collection、Iterator、Set、List等集合类接口。

    1.  Vector类与Enumeration接口
    Vector类是Java语言提供的一种高级数据结构,可用于保存一系列对象,Java不支持数组,Vector类提供了一种与"动态数组"相近的功能。如果我们不能预先确定要保存的对象的数目,或是需要方便获得某个对象的存放位置时,Vector类都是一种不错的选择。

    2.Collection接口与Iterator接口
    Collection接口的使用类似Vector类,只是方法的名称不同。我们要取出保存在实现Collection接口对象中的所有对象,我们也必须通过Collection.iterator方法返回一个Iterator接口对象,Iterator接口的功能与使用同Enumeration接口非常类似。Java2平台的数据结构类设计人员本可以扩展Enumeration接口,而不用创建Iterator这个新接口。但他们不喜欢Enumeration接口方法冗长的名字,因而创建了Iterator这个新接口,并缩短了方法名长度。
    按照Java的语法,不能直接用Collection接口类创建对象,而必须用实现了Collection接口的类来创建对象,ArrayList类就是一个实现了Collection接口的类,我们将上面使用Vector和Enumeration的例子改为用ArrayList和Iteartor编写,就可以了解这些类之间的关系和用法。

    ArrayList类中的所有方法是异步的,所以在没有多线程安全问题时,最好用ArrayList,程序的效率会高些。在有线程安全问题,且我们的程序又没有自己处理(自己处理是指对调用ArrayList的代码或方法加上同步处理)时,只能用Vector。

    2.  集合类接口的比较
    另外还有几个集合类接口Set、List,下面是Collection和它们的比较。
    Collection----对象之间没有指定的顺序,允许重复元素。
    Set----对象之间没有指定的顺序,不允许重复元素。
    List----对象之间有指定的顺序,允许重复元素。

  • 相关阅读:
    Centos下,Docker部署Yapi接口管理平台(详细得令人发指)
    Centos7下安装Docker(详细的新手装逼教程)
    性能测试之nmon对linux服务器的监控
    真爱至上,谈谈我的测试经历(二)
    linux问题点滴,给普通用户添加sudo权限
    浅谈软件测试流程(一)
    面试如何谈笑风生,软件测试基础理论整理
    测试与开发如何有效沟通,QC11(HP ALM 11)的简单使用记录
    解决github访问过慢问题
    Python语言下图像的操作方法总结
  • 原文地址:https://www.cnblogs.com/freesoul/p/4214205.html
Copyright © 2011-2022 走看看