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));
}
}