zoukankan      html  css  js  c++  java
  • JAVA-初步认识-常用对象API(集合框架-Vector集合)

    一.

    集合框架中的共同分类,已经介绍完了Collection下面的几个子接口,分别是list和set。同时也介绍了迭代器和列表迭代器,列表迭代器的好处是在迭代过程中可以对元素进行增删改查。接下来要介绍一下list中的常用对象,Arraylist和Linkedlist的常用特点了。Arraylist里面是数据结构的,查询数组本。Linkedlist是链接列表结构的,增删速度快。两者都是不同步的,还有一个东西是1.0版本出现的,但是现在已经用的不多了,已经被Arraylist替代了,就是vector。我们现在先把vetor演示一遍。

    介绍一下Vector,虽然现在已经用的不多了,但是里面有一个东西只有它有。

    list接口下面有vector对象,1.2版本中被升编到了集合框架中。集合框架体系是在1.2版本中才出现的。

    Vector()建立的是数组大小为10的,可变数组就是以10为大小不断延长。

    同时vector类中的一般方法,有很多我们常见的,比如add,clear....这些都来自于Collection,和List。

    Vector的特有方法是addElement(E obj),它和add方法是一样的功能,书写上更为麻烦。

    还有的特有方法是capacity,返回此对象的当前容量(也就是数组的长度)。还有elementAt,firstElement.....

    不同的有下图所示,index和E位置发生了变化,这是修改的方法。

    看一个最特殊的,到目前为止操作的都是单个元素的,如果想把所有的元素都取出来怎么办?用for循环,迭代器可以,最后用vector自己的方法也可以。

    用vector自己添加元素的方法来操作,想把元素取出,for和迭代器都可以。一般方法中带有element的都是vector特有的。

    向量是指vector。

    Enumeration中有两个方法,如下。有没有元素,下一个元素是谁。

    Enumeration是个接口,上图可以这么看,elements是个方法,属于Enumeration接口类型。对Enumeration接口进行讲述,上面截图中有两个方法。

    一个是hasMoreElements,另一个nextElement。

     这个输出过程中,hasElements是用来判断是否有元素,nextElement是用来输出集合中的元素么?next到底充当的是什么意思

    接着做了一些修改,如下图所示。截图中书写v点号的时候,第一行没有出现iterator方法,原因在于等号左边定义Iterator类型时,必须要导入相应的包,确定类型才行。

    从结果看两者是一样的。这两个接口的功能是一模一样的,拿迭代器的功能去替换它没有问题。

    枚举本身也是个专业名词,将它理解为“把元素一个一个的取出来”也行。

    上下两个写法进行对比,下面的书写更为简洁。在1.0版本中使用vector时,同时采用的就是Enumeration。后期ArrayList把vector替代了,Iterator把Enumeration替代了。为什么呢?因为Enumeration的名称以及它的方法过长。→这样就意味着,在保证阅读性的同时,还要简单。

    这里用的for循环,用for循环是最靠谱的。

    .

  • 相关阅读:
    LeetCode题解之Flipping an Image
    LeetCode 之Find Minimum in Rotated Sorted Array
    LeetCode题解Transpose Matrix
    LeetCode 题解之Minimum Index Sum of Two Lists
    LeetCode题解之Intersection of Two Linked Lists
    LeetCode 题解之Add Two Numbers II
    LeetCode题解之Add two numbers
    href="#"与href="javascript:void(0)"的区别
    有关ie9 以下不支持placeholder属性以及获得焦点placeholder的移除
    ie7下属性书写不规范造成的easyui 弹窗布局紊乱
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/8157888.html
Copyright © 2011-2022 走看看