根据数据结构,List 可以分为 数组 和 链表 两种 类型( ArrayList 和 LinkedList )
ArrayList 适合 集合元素的只读操作
LinkedList 适合 集合元素的增减操作
由于,一般操作都只是查询遍历较多,查找指定位置的元素,LinkedList 比 ArrayList 效率低得多,所以会看到ArrayList 用得比较多
若需要删除元素,一般是推荐使用迭代器方法(使用迭代器 Iterator 的remove()方法,而不是使用列表 List 的remove()方法)
同等情况下,使用 LinkedList + Iterator 迭代器方式 删除元素,速度是最快的
但是需要注意,使用 迭代器 Iterator 的遍历是一次性的,只能遍历一次
若需要多次使用Iterator进行遍历,当一次遍历完成,需要重新初始化Collection的iterator()
另外,使用 list.iterator() 遍历删除元素 ,删除的是 list 中相应的元素,所以遍历删除一次后,若只需要查询,直接使用 list 遍历即可
参考:
【记坑】Iterator遍历时,多次调用next(),二次遍历需要从Collection重新获取迭代器
共同学习,共同进步,若有补充,欢迎指出,谢谢!