手写链表_自定义简单规范(纯属为了编写简单)

/ 默认分类 / 0 条评论 / 1016浏览
  1. 链表规范接口
package cn.zh54;

/**
 * 链表
 * @author zuohui
 * @date 2020/3/4 - 14:09
 */
public interface LinkedList {

    /**
     * 插入元素到尾部
     */
    void add(Integer e);

    /**
     * 插入元素到指定位置
     */
    void add(Integer index,Integer e);

    /**
     * 删除尾部元素
     */
    void remove();

    /**
     * 删除指定位置的元素
     */
    void remove(Integer index);

    /**
     * 获取最后一个元素(获取尾部元素)
     */
    Integer get();

    /**
     * 获取指定位置的元素
     */
    Integer get(Integer index);

    /**
     * 获取尾节点
     */
    Node getNode();

    /**
     * 获取指定位置的节点
     */
    Node getNode(Integer index);

    /**
     * 打印
     */
    void print();

    /**
     * 获取元素个数
     */
    Integer size();


    default void throwOutOfRangeException(){
        throw new RuntimeException("The index is out of the current range of the list !");
    }

    default void checkIndexLegal(Integer index){
        if(index < 0){
            throw new RuntimeException("The index can't be negative!");
        }
    }

}

  1. 链表节点规范
package cn.zh54;

/**
 * @author zuohui
 * @date 2020/3/4 - 14:15
 */
public interface Node {


}