黑马程序员技术交流社区

标题: Java基础——集合(List-2) [打印本页]

作者: Dana-乌拉拉    时间: 2014-11-24 18:00
标题: Java基础——集合(List-2)
本帖最后由 Dana-乌拉拉 于 2014-11-24 18:12 编辑

五、LinkedList
        LinkedList:底层使用的是链表数据结构。特点:增删速度很快,查询稍慢。
特有方法:
1、增
        addFirst();
        addLast();
2、获取
        //获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementException
        getFirst();
        getLast();
3、删
        //获取元素,并删除元素。如果集合中没有元素,会出现NoSuchElementException
        removeFirst();
        removeLast();
在JDK1.6以后,出现了替代方法。
1、增
        offFirst();
        offLast();
2、获取
        //获取元素,但是不删除。如果集合中没有元素,会返回null。
        peekFirst();
        peekLast();
3、删
        //获取元素,并删除元素。如果集合中没有元素,会返回null。
        pollFirst();
        pollLast();
示例:
[java] view plaincopy
/*
使用LinkedList模拟一个堆栈或者队列数据结构。

堆栈:先进后出  如同一个杯子。
队列:先进先出 First in First out  FIFO 如同一个水管。

*/  
import java.util.*;  
  
class LinkedListTest  
{  
    public static void main(String[] args)   
    {  
        LinkedList l=new LinkedList();  
        l.addFirst("java01");  
        l.addFirst("java02");  
        l.addFirst("java03");  
        l.addFirst("java04");  
        l.addFirst("java05");  
      
        //堆栈输出  
    //  stack(l);  
         
        //队列输出  
        queue(l);  
  
    }  
  
    //堆栈  
    public static void stack(LinkedList l)  
    {  
        while (!l.isEmpty())  
        {  
            sop(l.removeFirst());  
        }  
    }  
  
    //队列  
    public static void queue(LinkedList l)  
    {  
        while(!l.isEmpty())  
        {  
            sop(l.removeLast());  
        }  
    }  
  
    //输出  
    public static void sop(Object obj)  
    {  
        System.out.println(obj);  
    }  
}  





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2