学习完了集合容器,模仿实现了一个LinkedList.Jdk中的LinkedList是一个双向链表,增删改效率比较高,因为比较方便的获取前驱结点.
现在模仿使用的是单向链表. 现在贴上代码. 如有错误,请指正.
接口文件如下:
- /**
- * <p>Title: ILinearList.java</p>
- * <p>Copyright: Copyright (c) 2015</p>
- * @author possible
- * @version 1.0
- */
- package com.dt.linearlist;
- public interface ILinearList<T> {
- // /**
- // * 初始化线性表
- // *
- // * @return 返回线性表引用
- // */
- // public T initList();
- /**
- * 删除线性表
- *
- * @return 返回true 销毁成功 false失败
- */
- public void destoryList();
- /**
- * 判断线性表是否为空
- *
- * @return true 链表为空. false 链表不为空
- */
- public boolean isEmpty();
- /**
- * 线性表长度
- *
- * @return 链表长度
- */
- public int length();
- /**
- * 获取指定索引线性表结点
- *
- * @param index
- * 获取index位置的元素
- * @return 返回元素 T
- */
- public T get(int index);
- /**
- * 在指定位置插入元素
- *
- * @param i
- * 插入位置的索引
- * @param t
- * 插入的元素
- * @return true 插入成功, false 插入失败
- */
- public boolean add(int index, T t);
- /**
- * 删除指定索引的元素
- *
- * @param i
- * 删除指定位置的元素
- * @return true 删除成功; false 删除失败
- */
- public T delete(int index);
- /**
- * 线性表遍历
- *
- * @return 返回遍历结果
- */
- public String traverse();
- /**
- * 插入元素结点.
- *
- * @param t
- * 插入结点
- * @return true 插入成功 ; false 插入失败
- */
- public boolean add(T t);
- }
复制代码
实现类如下:
|
|