Я просматриваю список, чтобы найти конкретную запись, а затем присваиваю ее переменной и пытаюсь ее удалить позже. Демо легче, чем объяснять.Как извлечь K "самых маленьких" элементов из списка объектов?
ArrayList<Example> list1 = populate();
Example ex1 = list1.get(0);
Example ex2 = ex1;
list1.remove(ex2);
Я знаю, что это, вероятно, имеет отношение к неспособности Java обрабатывать указатели, но жизнеспособное решение было бы замечательным.
Редактировать: Чтобы разработать, это краткий пример моего кода, а не предоставление вам полной информации. То, что я делаю, это перебирать список, чтобы найти самые низкие 10 чисел. Моя техника заключается в том, чтобы пройти список, найти самый низкий и добавить его в другой список, а затем удалить это число из исходного списка и повторить. Но мой список составлен из объектов, которые внутри имеют значение int, а не список целых чисел.
for(0 to 9){
for(0 to list.size){
if(list.get(x) < smallest)
smallest = list.get(x)
}
smallestList.add(smallest);
list.remove(smallest)
}
Не могли бы вы уточнить, что именно вы хотели бы достичь? – sanbhat
Немного непонятно, что вы имеете в виду здесь. Удаление элементов из списка в порядке, назначение их для переменных также прекрасное, но поскольку ex2 и ex1 здесь одинаковы, вы удалите ex1. Это то, что вы хотите? –
Это выглядит хорошо для меня. Что за вопрос? –