自己实现LinkedList集合add,get,remove
来源:互联网 发布:防恶意代码软件 编辑:程序博客网 时间:2024/05/01 22:04
自己实现LinkedList集合add,get,remove
Node类
public class Node {
....public Node previous;
....public Object obj;
....public Node next;
....
....public Node()
....{
........
....}
....public Node(Node previous, Object obj, Node next) {
........super();
........this.previous = previous;
........this.obj = obj;
........this.next = next;
....}
....public Node getPrevious() {
........return previous;
....}
....public void setPrevious(Node previous) {
........this.previous = previous;
....}
....public Object getObj() {
........return obj;
....}
....public void setObj(Object obj) {
........this.obj = obj;
....}
....public Node getNext() {
........return next;
....}
....public void setNext(Node next) {
........this.next = next;
....}
}
MyLinkedList类
public class MyLinkedList {
private Node first;
private Node last;
private int size=0;
public void add(Object obj)
{
....Node n = new Node();
....if (first == null)
....{
........n.setPrevious(null);
........n.setObj(obj);
........n.setNext(null);
........
........first = n;
........last = n;
....}
....else
....{
........n.setPrevious(last);
........n.setObj(obj);
........n.setNext(null);
........
........last.setNext(n);
........last = n;
....}
....size++;
}
public Object get(int index)
{
........Node ntemp = node(index);
....return ntemp.getObj();
}
public void remove(int index)
{
....Node ntemp = node(index);
....if(ntemp != null)
....{
........Node up = ntemp.getPrevious();
........Node down = ntemp.getNext();
........up.setNext(down);
........down.setPrevious(up);
....}
}
public Node node(int index)
{
....Node nodeTemp = null;
....if(first != null)
....{
........nodeTemp = first;
........for(int i=0 ; i<index ; i++)
........{
............nodeTemp = nodeTemp.getNext();
........}
....}
....return nodeTemp;
}
public int size()
{
....return size;
}
public static void main(String[] args) {
....MyLinkedList linkList = new MyLinkedList();
....linkList.add("aa");
....linkList.add("bb");
....linkList.add("cc");
....linkList.remove(1);
....System.out.println("0:"+linkList.get(1));
}
}
- 自己实现LinkedList集合add,get,remove
- 【java集合】自己实现简易的LinkedList
- LinkedList的add(Object obj)和remove(Object obj)和remove(index)和get(index)的源码分析
- java8集合框架LinkedList类实现自己简单的理解
- LinkedList add方法底层实现
- 自己实现LinkedList
- 实现自己的LinkedList
- 自己实现LinkedList底层
- JAVA--自己实现LinkedList
- 自己实现的LinkedList
- ArrayList与LinkedList大比拼之add和remove
- 分析LinkedList源码的add和remove函数
- ArrayList和LinkedList add和remove方法的比较
- LinkedList集合类实现队列
- LinkedList集合类实现栈
- 集合:List实现类LinkedList
- 关于java列表数据类型(ArrayList, LinkedList)的add与get
- java自己实现的linkedlist
- 内存按字节编址,地址从A4000H到CBFFFH,共有多少个字节呢?
- 操作数的寻址方式(非常重要)
- spring和spring MVC整合
- ST-Link/V2不能挂载到VirtualBox的解决办法
- mongod 启动报错
- 自己实现LinkedList集合add,get,remove
- Python 实现斐波那契数列 (黄金分割数列)
- Java 包装类
- java中一些数据类型在内存中的存放。
- C# MessageBox 使用大全
- 地宫取宝
- 自定义viewcontroller总结
- MFC对话框使用CPrintDialog实现打印,指定打印机、后台打印
- leetcode 第209题 Minimum Size Subarray Sum