LinkedList总结

1,LinkedList也是继承了List的接口
所以在LinkedList中存储的也是有序的,不唯一的数据
它采用的是链表式储存,所以比较适合用来执行插入,删除等功能

2,LinkedList特有的方法
特有方法:添加元素,返回元素,删除并返回元素
添加元素
在列表的首部添加元素
li.addFirst(news);
在列表的末尾添加元素
li.addLast(news);

返回元素
返回列表中的第一个元素
li.getFirst();
返回列表中的最后一个元素
li.getLast();

删除元素
删除并返回列表中的第一个元素
li.removeFirst();
删除并返回列表中的最后一个元素
li.removeLast();

3,与ArrayList相同的方法
添加
li.add(null);
li.add(0, null);

获取
li.get(0);

对比查找
li.contains(news);

获取集合长度

li.size();


替换对象
li.set(0, null);

删除
li.remove(0);
li.remove(news);

清空集合
li.clear();

特别方法:
如果此集合包含指定集合中的所有元素, 则返回 true。
li.containsAll(li);
以相反的顺序返回此 deque 中元素的迭代器。元素将按从最后 (尾部) 到第一个 (头部) 的顺序返回。
li.descendingIterator();
移除此列表中指定元素的第一个匹配项 (当从从头到尾遍历列表时)。如果列表中不包含元素, 则它不变。
li.removeFirstOccurrence(news);
移除此列表中指定元素的最后一个匹配项 (当从从头到尾遍历列表时)。如果列表中不包含元素, 则它不变。
li.removeLastOccurrence(news);
检索但不移除此列表的头 (第一个元素)。
li.element();
返回此列表的哈希代码值。
li.hashCode();
如果此集合不包含任何元素, 则返回 true。
li.isEmpty();

示例:

public class NewsLinkedList {
    public static void main(String[] args) {
        News news = new News(1, "北京终于放晴了!", "新闻社");
        News news2 = new News(2, "香港回归纪念日", "人民新闻");
        News news3 = new News(3, "假奶粉事件曝光", "人民新闻网");

        //创建LinkedList集合,适合进行删除,插入等功能
        LinkedList<News> li = new LinkedList<News>();
        li.add(news);
        li.add(news2);
        li.add(news3);

        //遍历,同样跟ArrayList一样也能用三种
        //第一种普通for循环
        for (int i = 0; i < li.size(); i++) {
            News n = li.get(i);
            System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
        }
        System.out.println("*****************************************");
        //第二种加强型for
        for (News n:li) {
            System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
        }
        System.out.println("*****************************************");
        //第三种迭代器
        Iterator<News> it = li.iterator();
        while (it.hasNext()) {
            News n = it.next();
            System.out.println(n.getID()+"\t"+n.getLitter()+"\t"+n.getAuthor());
        }

        //添加
        li.add(null);
        li.add(0, null);

        //获取
        li.get(0);

        //对比查找
        li.contains(news);

        //获取集合长度
        li.size();

        //替换对象
        li.set(0, null);

        //删除
        li.remove(0);
        li.remove(news);

        //清空集合
        li.clear();

        //特有方法:添加元素,返回元素,删除并返回元素
        //添加元素
        //1,在列表的首部添加元素
        li.addFirst(news);
        //2,在列表的末尾添加元素
        li.addLast(news);

        //返回元素
        //返回列表中的第一个元素
        li.getFirst();
        //返回列表中的最后一个元素
        li.getLast();

        //删除元素
        //删除并返回列表中的第一个元素
        li.removeFirst();
        //删除并返回列表中的最后一个元素
        li.removeLast();

        //如果此集合包含指定集合中的所有元素, 则返回 true。
        li.containsAll(li);
        //以相反的顺序返回此 deque 中元素的迭代器。元素将按从最后 (尾部) 到第一个 (头部) 的顺序返回。
        li.descendingIterator();
        //移除此列表中指定元素的第一个匹配项 (当从从头到尾遍历列表时)。如果列表中不包含元素, 则它不变。
        li.removeFirstOccurrence(news);
        //移除此列表中指定元素的最后一个匹配项 (当从从头到尾遍历列表时)。如果列表中不包含元素, 则它不变。
        li.removeLastOccurrence(news);
        //检索但不移除此列表的头 (第一个元素)。
        li.element();
        //返回此列表的哈希代码值。
        li.hashCode();
        //如果此集合不包含任何元素, 则返回 true。
        li.isEmpty();
            }
}

 

posted @ 2019-03-21 23:22  Java练习生  阅读(1828)  评论(0编辑  收藏  举报