Both Iterator and Enumeration allows you to traverse over elements of Collections in Java.Iterator allows you to remove elements from collection during traversal but Enumeration doesn't allow that. Enumeration is introduced in legacy class and not all Collection class supports it .For example:- Vector supports Enumeration but ArrayList doesn't.
Example of Iterator:-
 public static void main(String[] args) {  
           List<String> list = new ArrayList<String>();  
           list.add("Java");  
           list.add("C++");  
           list.add("C");  
           list.add("Python");  
           Iterator<String> itr = list.iterator();  
           while (itr.hasNext()) {  
                System.out.println(itr.next());  
           }  
Example of Enumeration:-
 public static void main(String[] args) {  
           List<String> list = new ArrayList<String>();  
           list.add("Java");  
           list.add("C++");  
           list.add("C");  
           list.add("Python");  
           Enumeration<String> e=Collections.enumeration(list);  
           while(e.hasMoreElements())  
           {  
                System.out.println(e.nextElement());  
           }  
      }  
Enumeration 
 | 
  
Iterator 
 | 
 
Enumeration
  doesn't have a remove() method 
 | 
  
Iterator
  has a remove() method 
 | 
 
Enumeration
  acts as Read-only interface, because it has the methods only to traverse and
  fetch the objects 
 | 
  
Can
  be abstract, final, native, static, or synchronized 
 | 
 
Note:- Enumeration is used whenever we want to make Collection
objects as Read-only.
Enjoy Reading
This was a lovely blog poost
ReplyDelete