how to pass a LinkedHashSet as a collection to some other collection using collection in java
Previous | Home | Next |
In this example we will learn how to pass a LinkedHashSet object to some other collection and vice-versa using collections.
For creating a LinkedHashSet we have to import the java.util package. The java.util.LinkedHashSet contains various constructors for creating a LinkedHashSet. In this example we have created a class name CollectionExample in which we have created a LinkedHashSet and then added some elements to it.
In this example we have used the addAll(Collection coll) for adding all the elements of the LinkedHashSet to some other collection.
In this example we have created a LinkedHashSet object and then added some elements to it. We have also created an ArrayList by passing the LinkedHashSet object lnkdhaset as an argument to the constructor of the ArrayList as,ArrayList<Double> al=new ArrayList<Double>(lnkdhaset);
The above statment initializes an ArrayList with the values of the lnkdhaset.
Then we have added some more elements to the arraylist object al by using the addd() method on it. Then again we used the addAll(Collection coll) on the object of the LinkedHashSet i.e lnkdhaset. Finally we have displayed the contents of the LinkedHashSet. It should be noted that since the LinkedHashSet extends the Abstract Set so duplicate values are not included.
package r4r.co.in;
import java.util.*;
public class CollectionExample {
/**
* @param args
*/
public static void main(String[] args) throws ClassCastException, NullPointerException
{
// TODO Auto-generated method stub
try
{
LinkedHashSet<Double> lnkdhaset=new LinkedHashSet<Double>(); //created a LinkedHashSet of Double type
lnkdhaset.add(2.345); // adding double values of the lnkdhaset
lnkdhaset.add(4.567);
lnkdhaset.add(8.976);
lnkdhaset.add(6.758);
lnkdhaset.add(6.809);
System.out.println("The contents of the setar:"+lnkdhaset); // Now we are displaying the contents of the LinkedHashSet
ArrayList<Double> al=new ArrayList<Double>(lnkdhaset); // creating an ArrayList of Double type genre, passing the lnkdhaset as an argument to its constructor
al.add(11.344); // adding objects to the arraylist
al.add(78.465);
al.add(43.567);
al.add(7.000);
System.out.println("The contents of the ArrayList created by passing lnkdhaset as argument to constructor are: "+al); // displaying the contents of the ArrayList al
lnkdhaset.addAll(al); // adding the ArrayList by passing the al as a collection object to the addAll() method to the LinkedHashSet
/* remember that the duplicate elements will not be added to the LinkedHashSet*/
System.out.println("Now the contents of the LinkedHashSet lnkdhaset after adding ArrayList collection to it are: ");
Iterator<Double> itr=lnkdhaset.iterator(); // Invoking the iterator on the lnkdhaset
while(itr.hasNext())
{
System.out.println(itr.next()); // displaying the contents of the lnkdhaset
}
}
catch(ClassCastException e)
{
e.printStackTrace();
}
catch(NullPointerException e)
{
e.printStackTrace();
}
}
}
The output of the above program is as follows:
The contents of the setar:[2.345, 4.567, 8.976, 6.758, 6.809]
The contents of the ArrayList created by passing lnkdhaset as argument to constructor are: [2.345, 4.567, 8.976, 6.758, 6.809, 11.344, 78.465, 43.567, 7.0]
Now the contents of the LinkedHashSet lnkdhaset after adding ArrayList collection to it are:
2.345
4.567
8.976
6.758
6.809
11.344
78.465
43.567
7.0
Previous | Home | Next |