Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java convert Int Array to SortedSet

How do I convert an int array to a SortedSet?

The following is not working,

SortedSet lst= new TreeSet(Arrays.asList(RatedMessage));

Error:

cannot be cast to java.lang.Comparable at java.util.TreeMap.compare(TreeMap.java:1290)

like image 810
mattsmith5 Avatar asked May 24 '26 09:05

mattsmith5


2 Answers

public static NavigableSet<Integer> convertToSet(int... arr) {
    return Arrays.stream(arr).boxed().collect(Collectors.toCollection(TreeSet::new));
}
like image 132
oleg.cherednik Avatar answered May 25 '26 22:05

oleg.cherednik


Maybe you have to use Integer array, not simple int. It works this way:

int[] num = {1, 2, 3, 4, 5, 6, 7};

// Convert int[] --> Integer[]
Integer[] boxedArray = Arrays.stream(num)
    .boxed()
    .toArray(Integer[]::new);

SortedSet<Integer> sortedSet = new TreeSet<Integer>(Arrays.asList(boxedArray));

System.out.println("The SortedSet elements are :");

for(Integer element : sortedSet) {
      System.out.println(element);
}
like image 23
Péter Baráth Avatar answered May 25 '26 23:05

Péter Baráth