Przeszukuję listę, aby znaleźć konkretny wpis, a następnie przypisać go do zmiennej i spróbować usunąć później. Łatwiej jest przeprowadzić demo niż wytłumaczyć.Jak wyodrębnić "najmniejsze" elementy K z listy obiektów?
ArrayList<Example> list1 = populate();
Example ex1 = list1.get(0);
Example ex2 = ex1;
list1.remove(ex2);
Wiem, że to prawdopodobnie ma coś wspólnego z niezdolnością Javy do radzenia sobie ze wskaźnikami, ale realne rozwiązanie byłoby świetne.
Edycja: Aby to rozwinąć, jest to krótki przykład mojego kodu, a nie pełne przedstawienie. To, co robię, polega na iteracji listy, aby znaleźć najniższe 10 liczb. Moja technika polega na przejściu przez listę, znalezieniu najniższego i dodaniu jej do innej listy, a następnie usunięciu tego numeru z pierwotnej listy i powtórzeniu. Ale moja lista składa się z obiektów, które mają wewnątrz nich wartość int, a nie listy liczb całkowitych.
for(0 to 9){
for(0 to list.size){
if(list.get(x) < smallest)
smallest = list.get(x)
}
smallestList.add(smallest);
list.remove(smallest)
}
Czy możesz dopracować, dokładnie to, co chciałbyś osiągnąć? – sanbhat
To trochę niejasne, co masz na myśli. Usuwanie elementów z listy jest w porządku, przypisanie ich do zmiennych również jest w porządku, ale ponieważ ex2 i ex1 są tutaj takie same, usuniesz ex1. Czy tego chcesz? –
Wygląda to dobrze dla mnie. Jakie jest pytanie? –