黑马程序员_日记37_LinkedList概述及特有方法演示

来源:互联网 发布:修改sql语句怎么写 编辑:程序博客网 时间:2024/05/17 01:32

 ——- android培训、java培训、期待与您交流! ———-

查阅API,获取LinkedList类的基本信息。
List 接口的链接列表实现。
实现所有可选的列表操作,并且允许所有元素(包括 null)。
除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。
这些操作允许将链接列表用作堆栈、队列或双端队列。

注意,此实现不是同步的。
那么如何解决多线程同步的问题呢?
API告诉了我们答案:
使用 Collections.synchronizedList 方法来“包装”该列表。
最好在创建时完成这一操作,以防止对列表进行意外的不同步访问,如下所示:

List list = Collections.synchronizedList(new LinkedList(…));

此类的 iterator 和 listIterator 方法返回的迭代器是快速失败的。

特点:增删速度很快,查询稍慢。

LinkedList拥有很多方法,下面仅给出它特有的方法,并对其进行演示。
LinkedList:特有方法:
addFirst();可以用于头插法建立单链表
addLast();可以用于尾插法建立单链表

getFirst();
getLast();
获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementException

removeFirst();
removeLast();
获取元素,但是元素被删除。如果集合中没有元素,会出现NoSuchElementException

在JDK1.6出现了替代方法。

offerFirst();
offerLast();

peekFirst();
peekLast();
获取元素,但不删除元素。如果集合中没有元素,会返回null。

pollFirst();
pollLast();
获取元素,但是元素被删除。如果集合中没有元素,会返回null。

import java.util.*;class LinkedListDemo {    public static void main(String[] args)     {        method_LinkedList();    }    //LinkedList特有方法演示    public static void method_LinkedList()    {        //创建链表        LinkedList link = new LinkedList();        //用共性方法添加基本元素        link.add("num01");        link.add("num02");        link.add("num03");        link.add("num04");        //打印原有链表        System.out.println("原有链表:"+link);        //头插法        link.addFirst("num05");        //打印结果        System.out.println("在头部插入元素后:"+link);        //尾插法        link.addLast("num06");        //打印结果        System.out.println("在尾部插入元素后:"+link);        //获取第一个元素        System.out.println("第一个元素:"+link.peekFirst());        //获取最后一个元素        System.out.println("最后一个元素:"+link.peekLast());        //获取并删除第一个元素        System.out.println("删除第一个元素:"+link.pollFirst());        System.out.println("删除后的链表:"+link);        //获取并删除最后元素        System.out.println("删除最后一个元素:"+link.pollLast());        System.out.println("删除后的链表:"+link);        //取出并打印LinkedList中的元素        while(!link.isEmpty())            System.out.println(link.pollFirst());    }}

这里写图片描述

0 0
原创粉丝点击