java容器---------手工实现Linkedlist 链表
Posted zzzao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java容器---------手工实现Linkedlist 链表相关的知识,希望对你有一定的参考价值。
第一版:增加add方法
package cn.zxg.collection;
public class Node {
Node previous;//上个节点
Node next;//下个节点
Object element;//自己的数据
public Node(Node previous,Node next,Object element){
this.previous=previous;
this.next=next;
this.element=element;
}
public Node(Object element){
this.element=element;
}
}
package cn.zxg.collection;
/**
* 自定义一个链表,增加一个add方法
*/
public class SxtLinkList {
private Node first;
private Node last;
private int size;
public void add(Object obj){
Node node=new Node(obj);
if(first==null){
first=node;
last=node;
}else {
node.previous=last;
node.next=null;
last.next=node;
last=node;
}
}
public String toString() {
StringBuilder sb=new StringBuilder();
sb.append("[");
Node temp=first;
while (temp!=null){
sb.append(temp.element+",");
temp=temp.next;
}
sb.setCharAt(sb.length()-1,‘]‘);
return sb.toString();
}
public static void main(String[] args) {
SxtLinkList list=new SxtLinkList();
list.add("a");
list.add("b");
list.add("c");
System.out.println(list.toString());
}
}
第二版、添加get方法,传入索引返回对应的内容
以上是关于java容器---------手工实现Linkedlist 链表的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode算法题-Palindrome Linked List(Java实现)
LeetCode算法题-Remove Linked List Elements(Java实现)
LeetCode-面试算法经典-Java实现114-Flatten Binary Tree to Linked List(二叉树转单链表)