• java 中LinkedList的学习


    Java中,所有链表实际上都是双向链表的,即每个结点还存放在着指向前驱结点的引用。

    LinkedList中的contains方法检测某个元素是否出现在链表中。

    LinkedList类提供了一个用来访问某个特定元素的get方法,但是其效率并不高。

    eg:

    LinkedList<String> list=new LinkedList<>();

    for (int i=0;i<List.size();i++)

    list.get(i);

    绝对不应该使用这种让人误解的随机访问方法来遍历链表,每次查找一个元素都要从列表的头部重新开始搜索,

    LinkedList对象根本不做任何缓存位置信息的操作。

    故建议:避免使用以整数索引表示链表中位置的所有方法。如果需要对集合进行随机访问,就是用数组或ArrayList,而不要使用链表。

     1 import java.util.*;
     2 public class LinkedListTest {
     3 
     4     public static void main(String[] args)
     5     {
     6         List<String> a=new LinkedList<>();
     7         a.add("Amy");
     8         a.add("Carl");
     9         a.add("Erica");
    10         
    11         List<String> b=new LinkedList<>();
    12         b.add("Bob");
    13         b.add("Doug");
    14         b.add("Frances");
    15         b.add("Gloria");
    16         
    17         ListIterator<String> aIter=a.listIterator();
    18         Iterator<String> bIter=b.iterator();
    19         
    20         while (bIter.hasNext())
    21         {
    22             if (aIter.hasNext()) aIter.next();
    23             aIter.add(bIter.next());
    24         }
    25         System.out.println(a);
    26         
    27         bIter=b.iterator();
    28         while (bIter.hasNext())
    29         {
    30             bIter.next();
    31             if (bIter.hasNext())
    32             {
    33                 bIter.next();
    34                 bIter.remove();
    35             }
    36         }
    37         System.out.println(b);
    38         
    39         a.removeAll(b);
    40         
    41         System.out.println(a);
    42     }
    43 }
  • 相关阅读:
    编写 ES6 的 7 个实用技巧
    [docker] 常用命令
    ansible 的第一次亲密接触
    [bug] JS sort 函数在 ios 中无效
    这几天bug多,自我检讨一下
    【面试】——随手收集面试问题
    Linux的五个查找命令:find,locate,whereis,which,type
    Linux下php安装Redis扩展
    mysql in 子查询 效率慢 优化(转)
    mysql group by 用法解析(详细)
  • 原文地址:https://www.cnblogs.com/xh0102/p/5265372.html
Copyright © 2020-2023  润新知