TreeSet bug?

J

jacksu

I got class cast exception for the following two lines of code.

Not sure how treeset handle int[].

Thanks.

TreeSet<int[]> arr1 = new TreeSet<int[]>();
arr1.add(new int[]{3, 2});
System.out.println(arr1.contains(new int[]{2, 3}));
System.out.println(arr1.contains(new int[]{3, 2}));
 
G

Googmeister

jacksu said:
I got class cast exception for the following two lines of code.

Not sure how treeset handle int[].

Thanks.

TreeSet<int[]> arr1 = new TreeSet<int[]>();
arr1.add(new int[]{3, 2});
System.out.println(arr1.contains(new int[]{2, 3}));
System.out.println(arr1.contains(new int[]{3, 2}));

int[] does not implement the Comparable interface,
so you cannot directly use it with TreeSet. You would
need to create a customized Comparator or encapsulate
the integer array in a class that implements the Comparable
interface.
 
J

jacksu

jacksu said:
I got class cast exception for the following two lines of code.

Not sure how treeset handle int[].

Thanks.

TreeSet<int[]> arr1 = new TreeSet<int[]>();
arr1.add(new int[]{3, 2});
System.out.println(arr1.contains(new int[]{2, 3}));
System.out.println(arr1.contains(new int[]{3, 2}));

int[] does not implement the Comparable interface,
so you cannot directly use it with TreeSet. You would
need to create a customized Comparator or encapsulate
the integer array in a class that implements the Comparable
interface.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top