Given that s refers to a set write a statement that adds the
Solution
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
public class SetOperations {
public static void main(String[] args) {
/****** 9.2.1 **************/
//by 1. its seems set is the type of int
Set <Integer> s = new HashSet<Integer>();
// adding 42 to s
s.add(42);
System.out.println(\"1. list is : \");
print(s);
/****** 9.2.1 end **************/
/****** 9.2.2 start **************/
// we need to create another set for this
Set <Integer> newSet = new HashSet<Integer>();
newSet.add(23);
newSet.add(42);
newSet.add(-11);
newSet.add(89);
s = newSet;
System.out.println(\"2. List is : \");
print(s);
/****** 9.2.2 end **************/
/****** 9.2.3 start **************/
s.add(42);
System.out.println(\"3. List is : \");
print(s);
/****** 9.2.3 end **************/
/****** 9.2.4 start **************/
// lets first add 5 to the list
s.add(5);
System.out.println(\"4. Before removal 5, list is : \");
print(s);
s.remove(5);
System.out.println(\"4. after removal of 5 from the list : \");
print(s);
/****** 9.2.4 end **************/
/****** 9.2.5 start **************/
if(s.contains(11)){
s.remove(11);
System.out.println(\"5. After removal of 11 list is : \");
print(s);
}
/****** 9.2.5 end **************/
/****** 9.2.6 start **************/
// here the type of v is not clear so I am taking it as list
ArrayList<Integer> v = new ArrayList<Integer>();
v.add(1);
v.add(2);
// now we have to add this element to set s
for(Integer i : v){
s.add(i);
}
System.out.println(\"6 . After adding v\'s data to set : \" );
print(s);
/****** 9.2.6 end **************/
/****** 9.2.7 start **************/
for(Integer i : v){
s.remove(i);
}
System.out.println(\"6 . After removing v\'s data from set : \" );
print(s);
/****** 9.2.7 end **************/
/******** 9.2.8********************/
Set <Integer> weight = new HashSet<Integer>();
//here i am assigning s value to weight
weight = s;
Integer desired_weight = 18;
Integer diff = desired_weight;
Integer toRemove = null ;
System.out.println(\"8. before removal of desired weight : \");
print(weight);
for(Integer check : weight){
if((diff > Math.abs (diff - check) )||( toRemove==null)){
diff = Math.abs (diff - check);
toRemove =check;
}
}
weight.remove(toRemove);
System.out.println(\"8. After removal of desired weight : \");
print(weight);
/***********9.2.8 close **************/
/***********9.2.9 start **************/
// to check the value of one set is present in other . we need to iterate it for that i am using for each loop
//Actually this part, I am not getting correctly. the question seems not clear.
// so simply I am checking if the value is present in the other set or not if it is then I am printing true
Set <Integer> the_set = new HashSet<Integer>();
// for simplicity i am not adding value to this set simply assigning previous value of weigth to this
the_set = weight;
for(Integer set1 : s){
for(Integer s2 : the_set){
if(set1 == s2 ){
System.out.println(set1+\" : true\");
}
}
}
/***********9.2.9 close **************/
}
public static void print(Set<Integer>set){
for(Integer i : set){
System.out.println(i+\" \");
}
}
}


