- Implement Set using java
HashSet
It is used to create collection which uses hash table for storage
of data and implements Set Interface.
Features
·
It stores the elements by using mechanism
called Hashing
·
It contains unique elements only.
·
It does not maintain insertion order
Constructors
·
HashSet()-initializes empty HashSet
·
HashSet(Collection c)-constructs HashSet
by using the elements of Collection
Methods
·
add(Object o)-adds the specified element
to this set if it is not already present
·
remove(Object o)-removes specified
element from set
·
clear()-removes all elements from the
set
·
size()-counts the number of elements in
set
·
iterator()- iterates over
the elements in set
Program
on HashSet
import java.util.Set;import java.util.HashSet;import java.util.Scanner;//Scanner class reads data from input streamclass Hashsetdemo{ public static void main(String[] args) { Set<Integer> obj=new HashSet<Integer>();//Set is interface and HashSet is class Scanner s=new Scanner(System.in); while(true) { System.out.println("1.Add"); System.out.println("2.Remove"); System.out.println("3.Display"); System.out.println("4.Quit"); System.out.println("Enter choice"); int choice=s.nextInt(); switch(choice) { case 1:System.out.println("Enter the element to be added to hashset"); int e=s.nextInt(); obj.add(e);//add element to hash set break; case 2:if(obj.isEmpty())//checks whether hashset is empty or not System.out.println("Hashset is empty"); else { System.out.println("Enter the element to be removed from hashset"); e=s.nextInt(); if(obj.contains(e))//contains() checks whether hashset contains element or not { obj.remove(e); System.out.println(e+" is removed from HashSet successfully"); } else System.out.println("Element not found in hashset to be deleted"); } break; case 3:if(obj.isEmpty()) System.out.println("Hashset is empty"); else { System.out.println("HashSet elements"); for(Integer i:obj)//enhanced for loop System.out.println(i); //prints the elements using size() // convert hashset to array // Integer[] i=obj.toArray(new Integer[obj.size()]); //for(int x=0;x<i.length;++x) //System.out.println(i[x]); // using Iterator interface to print all the elements in hashset //java.util.Iterator<Integer> y=obj.iterator(); //while(y.hasNext())// checks whether hashset contains any more elements or not //System.out.println(y.next());//prints element } break; case 4:System.exit(0); default:System.out.println("Wrong choice"); } } }}Expected Output
1.Add2.Remove3.Display4.QuitEnter choice1Enter the element to be added to hashset101.Add2.Remove3.Display4.QuitEnter choice1Enter the element to be added to hashset201.Add2.Remove3.Display4.QuitEnter choice1Enter the element to be added to hashset301.Add2.Remove3.Display4.QuitEnter choice1Enter the element to be added to hashset401.Add2.Remove3.Display4.QuitEnter choice3HashSet elements204010301.Add2.Remove3.Display4.QuitEnter choice2Enter the element to be removed from hashset12Element not found in hashset to be deleted1.Add2.Remove3.Display4.QuitEnter choice2Enter the element to be removed from hashset4040 is removed from HashSet successfully1.Add2.Remove3.Display4.QuitEnter choice3HashSet elements2010301.Add2.Remove3.Display4.QuitEnter choice2Enter the element to be removed from hashset3030 is removed from HashSet successfully1.Add2.Remove3.Display4.QuitEnter choice3HashSet elements20101.Add2.Remove3.Display4.QuitEnter choice2Enter the element to be removed from hashset1010 is removed from HashSet successfully1.Add2.Remove3.Display4.QuitEnter choice3HashSet elements201.Add2.Remove3.Display4.QuitEnter choice2Enter the element to be removed from hashset2020 is removed from HashSet successfully1.Add2.Remove3.Display4.QuitEnter choice2Hashset is empty1.Add2.Remove3.Display4.QuitEnter choice3Hashset is empty1.Add2.Remove3.Display4.QuitEnter choice4------------------------------------------------------------------------------------------------------------------LinkedHashSet
This class is used to create collection which extends HashSet class and implements Set interface.
Features
- It stores the elements by using mechanism called Hashing
- It contains unique elements only.
- It maintains insertion order
LinkedHashSet program
import java.util.Set;
import java.util.LinkedHashSet;
import java.util.Scanner;//Scanner class reads data from input stream
class Linkedhashsetdemo
{
public static void main(String[] args)
{
Set<Integer> obj=new LinkedHashSet<Integer>();//Set is interface and LinkedHashSet is class
Scanner s=new Scanner(System.in);
while(true)
{
System.out.println("1.Add");
System.out.println("2.Remove");
System.out.println("3.Display");
System.out.println("4.Quit");
System.out.println("Enter choice");
int choice=s.nextInt();
switch(choice)
{
case 1:System.out.println("Enter the element to be added to linked hashset");
int e=s.nextInt();
obj.add(e);//add element to linked hash set
break;
case 2:if(obj.isEmpty())//checks whether linked hashset is empty or not
System.out.println("Linked Hashset is empty");
else
{
System.out.println("Enter the element to be removed from Linked hashset");
e=s.nextInt();
if(obj.contains(e))//contains() checks whether linkedhashset contains element or not
{
obj.remove(e);
System.out.println(e+" is removed from LinkedHashSet successfully");
}
else
System.out.println("Element not found in linkedehashset to be deleted");
}
break;
case 3:if(obj.isEmpty())
System.out.println("LinkedHashset is empty");
else
{
System.out.println("LinkedHashSet elements");
for(Integer i:obj)//enhanced for loop
System.out.println(i);
//prints the elements using size()
// convert hashset to array
// Integer[] i=obj.toArray(new Integer[obj.size()]);
//for(int x=0;x<i.length;++x)
//System.out.println(i[x]);
// using Iterator interface to print all the elements in hashset
//java.util.Iterator<Integer> y=obj.iterator();
//while(y.hasNext())// checks whether hashset contains any more elements or not
//System.out.println(y.next());//prints element
}
break;
case 4:System.exit(0);
default:System.out.println("Wrong choice");
}
}
}
}
Expected Output
1.Add
2.Remove
3.Display
4.Quit
Enter choice
1
Enter the element to be added to linked hashset
10
1.Add
2.Remove
3.Display
4.Quit
Enter choice
1
Enter the element to be added to linked hashset
20
1.Add
2.Remove
3.Display
4.Quit
Enter choice
1
Enter the element to be added to linked hashset
30
1.Add
2.Remove
3.Display
4.Quit
Enter choice
1
Enter the element to be added to linked hashset
40
1.Add
2.Remove
3.Display
4.Quit
Enter choice
1
Enter the element to be added to linked hashset
50
1.Add
2.Remove
3.Display
4.Quit
Enter choice
3
LinkedHashSet elements
10
20
30
40
50
1.Add
2.Remove
3.Display
4.Quit
Enter choice
2
Enter the element to be removed from Linked hashset
30
30 is removed from LinkedHashSet successfully
1.Add
2.Remove
3.Display
4.Quit
Enter choice
2
Enter the element to be removed from Linked hashset
25
Element not found in linkedehashset to be deleted
1.Add
2.Remove
3.Display
4.Quit
Enter choice
3
LinkedHashSet elements
10
20
40
50
1.Add
2.Remove
3.Display
4.Quit
Enter choice
2
Enter the element to be removed from Linked hashset
40
40 is removed from LinkedHashSet successfully
1.Add
2.Remove
3.Display
4.Quit
Enter choice
2
Enter the element to be removed from Linked hashset
10
10 is removed from LinkedHashSet successfully
1.Add
2.Remove
3.Display
4.Quit
Enter choice
3
LinkedHashSet elements
20
50
1.Add
2.Remove
3.Display
4.Quit
Enter choice
2
Enter the element to be removed from Linked hashset
20
20 is removed from LinkedHashSet successfully
1.Add
2.Remove
3.Display
4.Quit
Enter choice
2
Enter the element to be removed from Linked hashset
50
50 is removed from LinkedHashSet successfully
1.Add
2.Remove
3.Display
4.Quit
Enter choice
2
Linked Hashset is empty
1.Add
2.Remove
3.Display
4.Quit
Enter choice
3
LinkedHashset is empty
1.Add
2.Remove
3.Display
4.Quit
Enter choice
4
TreeSet
It uses the tree for storage of elements which are maintained in increasing order.
Features
• Contains unique elements
• Fast retrieval and access of elements
• Maintains ascending order
Constructors
• TreeSet()- constructs an empty TreeSet that will be sorted in an ascending order
• TreeSet(Collection c)-constructs new TreeSet that contains the elements of collection
Methods
• add(Object o)-adds the specified element to this set if it is not already present
• remove(Object o)-removes specified element from set
• clear()-removes all elements from the set
• size()-counts the number of elements in set
• first()-returns the lowest element currently in this sorted set
• last()-returns highest element currently in this sorted set
• iterator()- iterates over the elements in set
TreeSet program
import java.util.Set;
import java.util.TreeSet;
import java.util.Scanner;//Scanner class reads data from input stream
class Treesetdemo
{
public static void main(String[] args)
{
Set<Integer> obj=new TreeSet<Integer>();//Set is interface and TreeSet is class
Scanner s=new Scanner(System.in);
while(true)
{
System.out.println("1.Add");
System.out.println("2.Remove");
System.out.println("3.Display");
System.out.println("4.Quit");
System.out.println("Enter choice");
int choice=s.nextInt();
switch(choice)
{
case 1:System.out.println("Enter the element to be added to treeset");
int e=s.nextInt();
obj.add(e);//add element to tree set
break;
case 2:if(obj.isEmpty())//checks whether treeset is empty or not
System.out.println("Hashset is empty");
else
{
System.out.println("Enter the element to be removed from treeset");
e=s.nextInt();
if(obj.contains(e))//contains() checks whether treeset contains element or not
{
obj.remove(e);
System.out.println(e+" is removed from treeSet successfully");
}
else
System.out.println("Element not found in treeset to be deleted");
}
break;
case 3:if(obj.isEmpty())
System.out.println("treeset is empty");
else
{
System.out.println("TreeSet elements");
for(Integer i:obj)//enhanced for loop
System.out.println(i);
//prints the elements using size()
// convert hashset to array
// Integer[] i=obj.toArray(new Integer[obj.size()]);
//for(int x=0;x<i.length;++x)
//System.out.println(i[x]);
// using Iterator interface to print all the elements in hashset
//java.util.Iterator<Integer> y=obj.iterator();
//while(y.hasNext())// checks whether hashset contains any more elements or not
//System.out.println(y.next());//prints element
}
break;
case 4:System.exit(0);
default:System.out.println("Wrong choice");
}
}
}
}Expected Output 1.Add 2.Remove 3.Display 4.Quit Enter choice 1 Enter the element to be added to treeset 20 1.Add 2.Remove 3.Display 4.Quit Enter choice 1 Enter the element to be added to treeset 10 1.Add 2.Remove 3.Display 4.Quit Enter choice 1 Enter the element to be added to treeset 25 1.Add 2.Remove 3.Display 4.Quit Enter choice 1 Enter the element to be added to treeset 45 1.Add 2.Remove 3.Display 4.Quit Enter choice 1 Enter the element to be added to treeset 42 1.Add 2.Remove 3.Display 4.Quit Enter choice 3 TreeSet elements 10 20 25 42 45 1.Add 2.Remove 3.Display 4.Quit Enter choice 2 Enter the element to be removed from treeset 25 25 is removed from treeSet successfully 1.Add 2.Remove 3.Display 4.Quit Enter choice 3 TreeSet elements 10 20 42 45 1.Add 2.Remove 3.Display 4.Quit Enter choice 2 Enter the element to be removed from treeset 44 Element not found in treeset to be deleted 1.Add 2.Remove 3.Display 4.Quit Enter choice 2 Enter the element to be removed from treeset 10 10 is removed from treeSet successfully 1.Add 2.Remove 3.Display 4.Quit Enter choice 3 TreeSet elements 20 42 45 1.Add 2.Remove 3.Display 4.Quit Enter choice
4
Comments