java-自定义模拟LinkList

java-自定义模拟LinkList


学习java 模拟一下LinkList的实现
java的LinkList 是一个双向链表
只做了一下简单的方法 增添 查找(删除偷懒没写 后续可能补上)
toSring没有做实现
理解一下链表的过程和处理思路
后续留坑完善
源码的查找:运用了2分前后查找 增强效率减少时间 有时间尝试实现

package MyCollection;/*
 * @Auther: zpf
 * @Date: 2019/7/13
 * @Description: MyCollection
 * @version:1.0
 */

public class MyLinkList {
    //创建链表头结点
    Node first;
    //尾结点
    Node last;
    //计数器
    int count;
    //添加元素方法:
    public void add(Object o){
        //开始为空
        if(first==null){
            Node n =new Node();
            n.setPre(null);
            n.setObj(o);
            n.setFront(null);
            first=n;
            last=n;
        }else{
            //不为空
            Node n =new Node();
            n.setPre(last);
            n.setObj(o);
            n.setFront(null);
            last.setFront(n);
            last=n;
        }
        count++;
    }
    //查询第几个元素方法:
    public Object get(int index){
        if(index>=count||index<0)
            return "越界!超找不到";
        Node n=first;
        for (int i = 0; i <index ; i++) {
            n=(Node)n.getFront();
        }

        return n.getObj();
    }
    //存储元素长度查询:
    public int length(){
        return count;
    }

    public static void main(String[] args) {
        //创建自我定义的链表集合的对象:
        MyLinkList ml=new MyLinkList();
        ml.add("aaa");
        ml.add("bbb");
        ml.add("ccc");
        System.out.println(ml.get(2));
    }
}


发布了17 篇原创文章 · 获赞 1 · 访问量 449

猜你喜欢

转载自blog.csdn.net/qq_44641344/article/details/95738717