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----对象之间有指定的顺序,允许重复元素。

  • 相关阅读:
    蓝桥杯国赛--四阶幻方清晰易懂(dfs+剪枝,stl)
    蓝桥杯---九宫重排(典型bfs)
    快速排序算法细致总结!!!
    Topsis优劣解距离分析法
    golang变量的定义
    golang
    erlang的优缺点
    mongrel代码注解
    取石块 解题报告
    军队 解题报告
  • 原文地址:https://www.cnblogs.com/freesoul/p/4214205.html
Copyright © 2011-2022 走看看