• java vector类 数组 链表 List类


    集合框架(Vector的特有功能)
    * A:Vector类概述

    * B:Vector类特有功能

    * public void addElement(E obj)
    * public E elementAt(int index)
    * public Enumeration elements()

    * C:案例演示 

    * Vector的迭代

    Vector v = new Vector(); //创建集合对象,List的子类
    v.addElement("a");
    v.addElement("b");
    v.addElement("c");
    v.addElement("d");

    //Vector迭代
    Enumeration en = v.elements(); //获取枚举
    while(en.hasMoreElements()) { //判断集合中是否有元素
    System.out.println(en.nextElement());//获取集合中的元素
    }

    ==========================================================================================

    集合框架(数据结构之数组和链表)


    * A:数组
    * 查询快修改也快
    * 增删慢
    * B:链表
    * 查询慢,修改也慢
    * 增删快

    集合框架(List的三个子类的特点)
    * A:List的三个子类的特点
    *
    ArrayList:
    底层数据结构是数组,查询快,增删慢。
    线程不安全,效率高。


    Vector:
    底层数据结构是数组,查询快,增删慢。
    线程安全,效率低。


    Vector相对ArrayList查询慢(线程安全的)


    Vector相对LinkedList增删慢(数组结构)


    LinkedList:
    底层数据结构是链表,查询慢,增删快。
    线程不安全,效率高。

    LinkedList根据索引取出元素  源码:

    Node<E> node(int index) {
    // assert isElementIndex(index);

    if (index < (size >> 1)) {
    Node<E> x = first;
    for (int i = 0; i < index; i++)
    x = x.next;
    return x;
    } else {
    Node<E> x = last;
    for (int i = size - 1; i > index; i--)
    x = x.prev;
    return x;
    }
    }

    Vector和ArrayList的区别
    Vector是线程安全的,效率低
    ArrayList是线程不安全的,效率高


    共同点:都是数组实现的
    ArrayList和LinkedList的区别
    ArrayList底层是数组结果,查询和修改快
    LinkedList底层是链表结构的,增和删比较快,查询和修改比较慢


    共同点:都是线程不安全的


    * B:List有三个儿子,我们到底使用谁呢?
    查询多用ArrayList
    增删多用LinkedList
    如果都多ArrayList

  • 相关阅读:
    团队项目-典型用户及用户场景分析
    课堂小练习-找“水王”
    课堂小练习—电梯
    团队项目—用户需求调研报告
    课堂小练习
    团队项目的NABC
    梦断代码—随笔三
    梦断代码—随笔二
    结对开发5_循环二维数组最大字数组
    结对开发4_循环数组的最大值
  • 原文地址:https://www.cnblogs.com/yimian/p/6512905.html
Copyright © 2020-2023  润新知