LinkedList

来源:互联网 发布:松下机器人示教编程 编辑:程序博客网 时间:2024/05/22 14:33

LinkedList

  1. LinkedList是采用双向循环链表实现的;
  2. 利用LinkedList实现栈(stack)、队列(queue)、双向队列(double-ended queue);
  3. ArrayList和LinkedList的比较
    1. ArrayList底层采用数组完成,而LinkedList则是以一般的双向链表(double-linked list)完成,其内每个对象除了数据本身外,还有两个引用,分别指向前一个元素和后一个元素;
    2. 如果我们经常在List的开始处增加元素,或者在List中进行插入和删除操作,我们应该使用LinkedList;如果是随机访问,使用ArrayList将更加快速;
      双向循环链表,如果没有最外面两条线,就是双向链表
      双向循环链表,如果没有最外面两条线,就是双向链表

import java.util.*;class MyStack{      // 实现栈 - 先进后出    private LinkedList li = new LinkedList();    public void push(Object o){        li.addFirst(o);    }    public Object pop(){        return li.removeFirst();    }    public Object peek(){    // 查看当前元素        return li.getFirst();    }    public boolean empty(){        return li.isEmpty();    }    public static void main(String[] arg){        MyStack ms = new MyStack();        ms.push("one");        ms.push("two");        ms.push("three");        System.out.println(ms.pop());// three        System.out.println(ms.peek());// two        System.out.println(ms.pop());// two        System.out.println(ms.empty());// false    }}// 队列 -- 先进先出
0 0
原创粉丝点击