boolean
remove(Object o)
Removes
the specified element from this set if it is present. Returns true if
the Element removed else false.
import java.util.*; class SetRemove{ public static void main(String args[]){ Set<Integer> mySet =new TreeSet<> (); /* Add elements to the set */ mySet.add(1); mySet.add(-10); mySet.add(100); mySet.add(12); mySet.add(14); /* Display the set */ System.out.println("Elements in mySet are"); System.out.println(mySet); /* Removing -10 from the set */ mySet.remove(-10); System.out.println("\nElements in mySet After removing -10 are"); System.out.println(mySet); } }
Output
Elements in mySet are [-10, 1, 12, 14, 100] Elements in mySet After removing -10 are [1, 12, 14, 100]
remove
throws ClassCastException if the type of the specified element is
incompatible with this set.
class Employee{ int number; Employee(int number){ this.number = number; } }
import java.util.*; class SetClassCastRemove{ public static void main(String args[]){ Set<Employee> mySet = new TreeSet<> (); Employee e1 = new Employee(1); boolean flag = mySet.remove(e1); System.out.println("Is Employee Removed " + flag); } }
When
you tries too run the program run time throws the
“ClassCastException”.
Output
Exception in thread "main" java.lang.ClassCastException: Employee cannot be cast to java.lang.Comparable at java.util.TreeMap.getEntry(Unknown Source) at java.util.TreeMap.remove(Unknown Source) at java.util.TreeSet.remove(Unknown Source) at SetClassCastRemove.main(SetClassCastRemove.java:7)
To
make the program compiles fine, Make the Employee class to implement
Comparable interface.
class Employee implements Comparable{ int number; public int compareTo(Object emp){ if(emp==null) return 0; Employee e = (Employee) emp; if(this.number == e.number) return 0; return (this.number - e.number); } Employee(int number){ this.number = number; } public String toString(){ return "Employee " + number; } }
Output
Output
Output
Is Employee Removed false
remove()
throws NullPointerException if the specified element is null and this
set does not permit null elements.
import java.util.*; class SetRemoveNull{ public static void main(String args[]){ Set<Integer> mySet = new TreeSet<> (); mySet.remove(null); } }
TreeSet
doesn't permit null elements. So trying to remove the null elements
from the TreeSet cause the NullPointerException.
Exception in thread "main" java.lang.NullPointerException at java.util.TreeMap.getEntry(Unknown Source) at java.util.TreeMap.remove(Unknown Source) at java.util.TreeSet.remove(Unknown Source) at SetRemoveNull.main(SetRemoveNull.java:5)
remove
throws UnsupportedOperationException if the remove operation is not
supported by this set.
import java.util.*; class SetUnSupportedRemove{ public static void main(String args[]){ Set<Integer> mySet = new HashSet<> (); Set<Integer> unModifySet; /* Add Elements to the set */ mySet.add(10); mySet.add(20); mySet.add(30); /* Getting unmodifiable version of the set mySet */ unModifySet = Collections.unmodifiableSet(mySet); /* Displaying the Elements of the sets */ System.out.println("Elements in mySet are"); System.out.println(mySet); System.out.println("Elements in unModifySet are"); System.out.println(unModifySet); /* Remove integer from unmodifiable set, which throws UnsupportedOperationException */ unModifySet.remove(20); } }
Output
Elements in mySet are [20, 10, 30] Elements in unModifySet are [20, 10, 30] Exception in thread "main" java.lang.UnsupportedOperationException at java.util.Collections$UnmodifiableCollection.remove(Unknown Source) at SetUnSupportedRemove.main(SetUnSupportedRemove.java:22)
Above
program, tries to remove a element from the un modifiable set, So
UnsupportedOperationException thrown.
No comments:
Post a Comment