Я выполняю задание, в котором я создаю программу, которая генерирует 20 случайных чисел и помещает их в arraylist, hashset и treeet. Предполагается показать эти числа в JList1. Затем я собираюсь использовать HashSet для отображения только уникальных номеров, а TreeSet - для сортировки чисел. Я сделал три JLists и сделал одну функцию для каждого из них, чтобы обновить GUI (возможно, это был более простой способ сделать это, но все, что я мог придумать из-за того, что я был совершенно новым для java). Так, например, моя функция updateGUI используется для отображения ArrayList в моем JList выглядит следующим образом:Использование TreeSet для сортировки JList
public void updateGUI(JList someList, ArrayList<Integer> anyarraylist){
DefaultListModel m = new DefaultListModel();
for (Object s : anyarraylist) {
m.addElement(s);
}
someList.setModel(m);
}
Я затем вызвать эту функцию при нажатии на кнопку с помощью ActionEvent:
@Override
public void actionPerformed(ActionEvent arg0) {
generateNumbers();
this.updateGUI(this.numbers1, numberlist);
Где generateNumbers является моя функция для генерации 20 случайных чисел, numbers1 - мой первый JList, а numberlist - имя моего arraylist.
Я сделал довольно то же самое для HashSet, чтобы отображать JList с уникальными номерами, и это сработало. Тем не менее, я тогда попытался сделать то же самое для TreeSet, который дал мне «Исключение в потоке» AWT-EventQueue-0 «java.lang.NullPointerException» -error. Функция выглядит так:
public void oppdaterGUI3(JList someList, TreeSet<Integer> anysortedlist){
DefaultListModel m = new DefaultListModel();
for (Object s : anysortedlist) {
m.addElement(s);
}
someList.setModel(m);
}
Почему это не работает? Я думал, что TreeSet будет работать так же, как HashSet. Любая помощь приветствуется. При необходимости я могу отправить полную ошибку и код.
спасибо.
Вы не можете рассчитывать на исчерпывающий и содержательный ответ, в котором столько информации отсутствует. Пожалуйста, обновите свой вопрос. – kriegaex