zoukankan      html  css  js  c++  java
  • List集合

    特点:

    a) 有序(存储和取出的元素顺序一致),可重复

    b) 特有功能

     1. 添加功能

      void add(int index,Object element)在指定位置添加元素(原索引处的元素后延)

     2. 获取功能

      Object get(int index)获取指定位置的元素

     3. 列表迭代器

      (1). ListIterator listIterator() List集合特有的迭代器

      (2). Iterator迭代器的子类,所以其可以用Iterator中的boolean hasNext()、Object next()方法

      (3). 特有的方法:

       a) Object previous ()返回此处位置的前一个的元素,并移动到前一个位置。

       b) boolean hasPrevious()判断此处的前一个位置是否有元素

       c) 逆向遍历必须先正向遍历使指针指到后面位置才能使用(使用意义不大)

      4. 迭代器遍历元素时不能直接通过集合修改元素,怎么办?

       a) 迭代器修改元素

        1. List迭代器有修改方法,Collection中的迭代器没有

        2. 通过迭代器中add(object obj)方法添加,跟在刚才迭代元素后面

       b) 通过集合遍历元素,并用集合修改元素(for循环遍历):通过集合中add(object obj)方法添加,跟在集合最后面

      5. 迭代器遍历实例实例在下面给出

      (1). 删除功能

       Object remove(int index)根据索引删除指定的元素,并返回删除的元素

      (2). 修改功能、

        Object set(int index,Object element)根据索引修改元素,返回被修改的元素

      (3). 数组转成集合

        ① public static List asList(T… a),返回类型为List类型

        ②  a为集合,此处的… 代表可变参数,也就是a的数组元素个数可变

        ③  此方法是Arrays类中的静态方法

        ④   数组转变为集合,实质还是数组需要保证长度不变,所以不支持增删集合元素,可以修改元素

    c) List子类的特点:

     1. ArrayList:

      (1). 底层数据结构是数组,查询快、增删慢

      (2). 线程不安全,效率高

     2. Vector:

      (1). 底层数据结构是数组,查询快,增删慢

      (2). 线程安全,效率底

     3. LinkedList:

      (1). 底层数据结构是链表,查询慢,增删快

      (2) 线程不安全,效率高

  • 相关阅读:
    22.渐进式框架的理解
    21、Vue组件间通信6种方式(网上找视频看)
    20、vue中如何使用event对象
    19.vue组件中data为什么必须是一个函数
    18、Vue.js中this.$nextTick()的使用
    17.v-on可以监听多个方法吗
    16.分别简述computed和watch的使用场景
    15. 请说出vue.cli项目中src目录每个文件夹和文件的用法
    13、vue中v-model的应用及使用详解(看链接)
    eclipse编码问题
  • 原文地址:https://www.cnblogs.com/yhcTACK/p/15426888.html
Copyright © 2011-2022 走看看