This article is categorized as "Garbage" . It should NEVER be appeared in your search engine's results.
本篇笔记很短。
Table of Contents
iterator
example
最简单的用法:
把https://truxton2blog.com/review-java-from-python/ 的一段代码拉过来修改:
改成:
就可以了!
另:HashMap的iterator:
讨论
值得注意的是,和Scanner的nextInt(), nextFloat(), nextDouble, nextline()等多种类型选择不同,iterator只能使用hasNext()和Next():
讨论一些iterator的优缺点
下面的内容来自https://blog.csdn.net/maozhr720/article/details/76222732
- (iterator)缺点是只能从头开始遍历, 优点是可以边遍历边删除。
- (for each遍历) 底层实现也是基于iterator,所以也只能从头开始遍历,性能上比iterator要稍慢一些,因为多了一层类型自动转换。
- 基于for each方式的遍历,还有一个缺点就是遍历过程中不允许删除元素,否则会抛ConcurrentModificationException
LinkedList
需要注意,虽然从设计上来看,使用index访问LinkedList是不高效的,但Java仍然提供了get(index)这样的方法来通过索引访问链表内容。 LinkedList并不是黑箱!
与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。(ref)
以下情况使用 ArrayList :
- 频繁访问列表中的某一个元素。
- 只需要在列表末尾进行添加和删除元素操作。
以下情况使用 LinkedList :
- 你需要通过循环迭代来访问列表中的某些元素。
- 需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。
add():默认向链表的末尾添加
add(index, ):向index的位置添加,添加以后LinkedList索引的 index 位置的元素就是刚刚添加进来的元素
get(index):获取任意index上的元素
example:
Last Modified in 2023-05-15