【常见集合篇08】LinkedList与ArrayList区别

41 阅读1分钟

LinkedList与ArrayList区别

  • 底层数据结构
  • 效率
  • 空间
  • 线程是否安全

底层数据结构

image.png

操作数据效率

image.png

内存空间占用

image.png

线程安全

  • ArrayList和LinkedList都不是线程安全的
  • 如果要保证线程安全,有两种方案:
    • 在方法内使用,局部变量是线程安全的
    • 使用线程安全的ArrayList和LinkedList;如:
    List<Object> list1 = Collections.synchronizedList(new ArrayList<>()); 
    List<Object> list2 = Collections.synchronizedList(new LinkedList<>());