• 线性表


    顺序表 ArrayList & LinkedList

    操作合集

    01. 创建表 createList

    // 默认使用 Java 的 ArrayList 作为 顺序表, 所以不需要创建, 直接使用
    ArrayList<String> mySequenceList = new ArrayList<String>();
    LinkedList<String> myLinkedList = new LinkedList<String>();

    02. 初始化 initList (默认提供初始化, 不需要特殊初始化)

    但是, 因为 Java 的 ArrayList 是支持动态增长的, 所以, 并不是一下子分配了所有的内存空间, 而是一点点增长的.

    比如, ArrayList<String> mySequenceList = new ArrayList<String>(10);   // 这样也没有用, 并不是一下子分配了10个存储单元的. 

    03. 返回长度 listLength

    mySequenceList.size()
    myLinkedList.size()

    04. 判断空表 ListEmpty

    mySequenceList.isEmpty()
    myLinkedList.isEmpty()

    05. 插入元素 listInsert

    // 插入队尾
    mySequenceList.add("asdf");
    // 插入指定 index 位置, 但是 index 要 < size()
    // 相当于前位插入
    mySequenceList.add(0, "bi");
    myLinkedList.add("a");
    myLInkedList.add(0,"b1");

    06. 删除元素 listDelete

    // remove 按照 index 顺序
    mySequenceList.remove(0);
    // remove 按照 value 值
    mySequenceList.remove("asdf");
    myLinkedList.remove(0);
    myLinkedList.remove("asdf");

    07. 返回元素前驱 / 后继元素 priorElem, nextElem

    // sequence return
    int seq = mySequenceList.indexOf("asdf");
    if (seq >= 0) {
        int prior = seq - 1;
        int next = seq + 1;
        if (prior >= 0) {
            System.out.println("prior: " + mySequenceList.get(prior));
        }
        if (next <= mySequenceList.size()) {
            System.out.println("next: " + mySequenceList.get(next));
        }
    }
    // for linked list:

    08. 返回元素后继元素 nextElem

    reference 07

    09. 获得元素位置 LocateElem

    int seq = mySequenceList.indexOf("asdf");

    10. 返回某个位置元素 retrieve

    mySequenceList.get(0);

    11. 清空顺序表 ClearList

    mySequenceList.clear();

    链表 LinkedList

    循环链表
    双向链表

    LinkedList 是一个双向链表.

    Comments

    直接使用提供的方式, 还是有不方便的地方,例如: 无法直接获得前驱和后继, 可能还需要自己编码. 

    这个方法本身不是 ArrayList 和 LinkedList 的标准方法.

    数据结构, 还是额外自己定义的更加灵活, 直接使用系统提供的, 还是有很多的函数本身没有的.

  • 相关阅读:
    SpringBoot整合redis
    maven dependency全局排除
    Spring Boot程序接收命令行参数
    MySQL8.0.20安装详解
    ITRS/GCRS/J2000坐标系的相互转换
    SpringBoot日记——日志框架篇
    SpringBoot集成log4j,解决log4j.properties不生效问题
    Office
    git下载
    WINDOWS上KAFKA运行环境安装
  • 原文地址:https://www.cnblogs.com/moveofgod/p/15489901.html
Copyright © 2020-2023  润新知