Câu hỏi phỏng vấn Java
Câu hỏi

What differences exist between Iterator and ListIterator ?

Câu trả lời

The differences between the Iterator and ListIterator interfaces in Java primarily revolve around their capabilities and the types of collections they can traverse. Here are the key distinctions:

Applicability to Different Collections

  • Iterator: It can be used to traverse any type of collection, including Set, List, and Map[1][2][3][4][5][6].
  • ListIterator: This is specifically designed to traverse List type collections only, such as ArrayList and LinkedList. It cannot be used with Set or Map[1][2][3][4][5][6].

Direction of Traversal

  • Iterator: Allows traversal of elements in a forward direction only[1][2][3][4][5][6].
  • ListIterator: Supports bidirectional traversal, meaning it can iterate both forwards and backwards through the list[1][2][3][4][5][6].

Additional Functionalities

  • Iterator: Provides basic functionalities like hasNext(), next(), and remove()[1][2][3][4][5][6].
  • ListIterator: Offers more advanced features in addition to those provided by Iterator. It includes methods like hasPrevious(), previous(), nextIndex(), previousIndex(), set(), and add(). These methods allow not only moving back and forth but also modifying the list during iteration and obtaining indexes of elements during traversal[1][2][3][4][5][6].

Modification of Elements

  • Iterator: Allows removing elements from the collection during iteration. However, it does not support the addition of new elements or altering existing elements directly; attempting to add directly through Iterator can result in a ConcurrentModificationException[2][3][...
middle

middle

Gợi ý câu hỏi phỏng vấn

expert

What is DGC? And how does it work?

junior

What’s the difference between sendRedirect and forward methods?

middle

Can an enum be extended?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào