LinkedHashSet :
- The only difference between HashSet and LinkedHashSet is, HashSet does not maintain the insertion order of elements where as LinkedHashSet does it, using hashCode.
- LinkedHashSet since from jdk 1.4
import java.util.*;
class Demo
{
public static void main(String[] args)
{
Random rand = new Random();
LinkedHashSet set = new LinkedHashSet();
for (int i=1 ; i<=5 ; i++)
{
int ele = rand.nextInt(100);
set.add(ele);
System.out.println("Element added : " + ele);
}
System.out.println("LinkedHashSet is : " + set);
}
}
Iterator :
- It is an interface having pre-defined functions used to iterate Collection Object to process the elements.
- Much working like Enumeration.
- Iterator introduced in jdk 1.2 along with new implementations of Collection interface.
- To get Iterator object, we need to call iterator() method on any Collection instance.
Iterator <identifier> = Collection_Object.iterator();
import java.util.*;
class SetDemo
{
public static void main(String[] args)
{
// HashSet set = new HashSet(); // No insertion order
LinkedHashSet set = new LinkedHashSet(); // Maintain insertion order
for(int i=10 ; i<=50 ; i+=10)
{
set.add(new Integer(i));
set.add(new Integer(20));
}
System.out.println("Elements are : ");
Iterator itr = set.iterator();
while(itr.hasNext())
{
Integer i = (Integer)itr.next();
System.out.println(i);
}
}
}