Hey All,
I have a problem wz the homework of lab 1016 (Collections Framework)
It throws exceptions when i create a TreeSet and LinkedHashSet from the array 
of diffrent abject types(Integer, String,object of MyOwnClass ) bec. TreeSet 
and LinkedHashSet sorts the elements inside them so when trying to do so, they 
cant compare diffrent objects(integer and String forexample)!!!
thats how i understood the problem and it may be wrong...

So, here is the exception it throws:
Me
1
2
[EMAIL PROTECTED]
3
You
[EMAIL PROTECTED]
Exception in thread "main" java.lang.ClassCastException: 
mycollectionproject.MyOwnClass cannot be cast to java.lang.Comparable
        at java.util.TreeMap.put(TreeMap.java:542)
        at java.util.TreeSet.add(TreeSet.java:238)
        at mycollectionproject.UtilityClass.Display(UtilityClass.java:18)
        at mycollectionproject.Main.main(Main.java:58)
Java Result: 1
As Shown it works well with just the HashSet then throws the exceptions..

And Thats also the code if u wanna check it:
-----------------------------------------------------------------------------------
UtilityClass
--------------------------------------------------------------------------------
package mycollectionproject;
import java.util.Set;
import java.util.Iterator; 

public class UtilityClass {
    public static void Display(Set s, Object[] objects){
        for (int i = 0 ; i < objects.length ; i++){
            s.add(objects[i]);
        }
        for(Iterator it = s.iterator();it.hasNext();){
            System.out.println(it.next());
        }
    }

}

--------------------------------------------------------
the Main
------------------------------------------------
package mycollectionproject;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
import java.util.Iterator;
import java.util.LinkedHashSet;

class MyOwnClass{
    String name = " ";
    int age = 0;
    public MyOwnClass(String name,int age){
        this.name = name;
        this.age = age;
    }
}
public class Main {
 public static void main(String[] args) {
        // Create HashSet Object
        String me = new String ("Me");
        String u = new String("You");
        MyOwnClass o1 = new MyOwnClass("Heba",21); 
        MyOwnClass o2 = new MyOwnClass("Mostafa",18);
        Integer one = new Integer(1);
        Integer two = new Integer(2);
        Integer three = new Integer(3);
        Object objects[] = {
            me,
            u,
            o1,
            o2,
            one,
            two,
            three
        };
Set s = new HashSet();
        UtilityClass.Display(s,objects);
        s = new TreeSet();
        UtilityClass.Display(s,objects);
        s = new LinkedHashSet();
        UtilityClass.Display(s,objects);
 }

}
So, how can i solve this????
Any Help would be Appreciated
Thanks in advance,
Heba



      
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/javaprogrammingwithpassion?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to