zoukankan      html  css  js  c++  java
  • Java List

    根据数据结构,List 可以分为 数组 和 链表 两种 类型( ArrayList 和 LinkedList )

    ArrayList 适合 集合元素的只读操作

    LinkedList 适合 集合元素的增减操作

    由于,一般操作都只是查询遍历较多,查找指定位置的元素,LinkedList 比 ArrayList 效率低得多,所以会看到ArrayList 用得比较多

    若需要删除元素,一般是推荐使用迭代器方法(使用迭代器 Iterator 的remove()方法,而不是使用列表 List 的remove()方法

    同等情况下,使用 LinkedList + Iterator 迭代器方式 删除元素,速度是最快的

    但是需要注意,使用 迭代器 Iterator 的遍历是一次性的,只能遍历一次

     若需要多次使用Iterator进行遍历,当一次遍历完成,需要重新初始化Collection的iterator()

    另外,使用 list.iterator() 遍历删除元素 ,删除的是 list 中相应的元素,所以遍历删除一次后,若只需要查询,直接使用 list 遍历即可

    参考:

      Java List的remove()方法陷阱以及性能优化

      【记坑】Iterator遍历时,多次调用next(),二次遍历需要从Collection重新获取迭代器

    共同学习,共同进步,若有补充,欢迎指出,谢谢!

  • 相关阅读:
    HTML区块
    HTML表单
    JavaScript 表单验证
    HTML头部
    JavaScript
    设计模式—单例模式的六种写法
    new
    new
    new
    new
  • 原文地址:https://www.cnblogs.com/dengguangxue/p/12107388.html
Copyright © 2011-2022 走看看