Я искал ответ на свой вопрос так долго. Я нашел множество похожих тем, но я до сих пор не знаю, что делать.Коллекции сортировать типы дженериков java
У меня есть класс, где я хочу хранить объекты в отсортированном массиве ArrayList.
Например, я создал этот класс:
public class Kwadrat implements Comparable<Kwadrat> {
private int a;
public Kwadrat(int a){
this.a = a;
}
public int get_size(){
return a*a;
}
public int compareTo(Kwadrat b){
if(b.get_size() > get_size()){
return -1;
}
if(b.get_size() < get_size()){
return 1;
}
return 0;
}
}
А вот мой Sort
класс:
public class Sort <T> {
ArrayList<T> arraylist;
public Sort(){
arraylist = new ArrayList<T>();
}
public void add(T element){
arraylist.add(element);
Collections.sort(arraylist);
}
}
Collections.sort(arraylist);
еще говорит мне, что «нет ни одного случая (s) переменной типа (ов) T
существует так, что T conforms to Comparable<? super T>
".
Если вам нужно хранить элементы, упорядоченные, я предложил бы использовать 'TreeSet' вместо' ArrayList', который должен быть отсортирован вручную каждый раз, когда элемент находится вставлено. – Filkolev
Я согласен с @Filkolev. Вам действительно нужен ArrayList (индексированный доступ)? – marcolopes