zoukankan      html  css  js  c++  java
  • 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()+"	"+n.getLitter()+"	"+n.getAuthor());
            }
            System.out.println("*****************************************");
            //第二种加强型for
            for (News n:li) {
                System.out.println(n.getID()+"	"+n.getLitter()+"	"+n.getAuthor());
            }
            System.out.println("*****************************************");
            //第三种迭代器
            Iterator<News> it = li.iterator();
            while (it.hasNext()) {
                News n = it.next();
                System.out.println(n.getID()+"	"+n.getLitter()+"	"+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();
                }
    }
  • 相关阅读:
    查看Oracle字符集
    Oracle备份还原表须知
    Oracle级联删除,删除用户的同时,将所分配到的表空间同时删除
    python logging模块(1) Marathon
    pycharm中调试django程序 Marathon
    sqlite数据表的增删改查操作 Marathon
    ubuntu 18.04配置固定ip Marathon
    django项目报错request请求不能处理问题 Marathon
    systemd.service配置 Marathon
    shell脚本学习之6小时搞定(1)入门 Marathon
  • 原文地址:https://www.cnblogs.com/zhangmenghui/p/10575552.html
Copyright © 2011-2022 走看看