Witam, czy ktoś może mi powiedzieć w jaki sposób przesłać ArrayList do metody w taki sposób, aby pracować na oryginale ? W C++ są wskaźniki, a w Javie jak to się robi ? Z góry thx.
Przesyłanie oryginalnej listy do metody
- Rejestracja: dni
- Ostatnio: dni
- Postów: 184
0
Przesyłając ArrayList do metody nie działasz na jej kopii - pracujesz na referencji do oryginalnego obiektu, możesz zmieniać przez to stan tego obiektu, np.
public void addToArrayList(ArrayLst<Integer> ar) {
ar.add(2);
}
Natomiast:
ar = new ArrayList<Integer>(3);
ar.add(2);
Nie zmieni listy z poza metody, ponieważ referencja teraz wskazuje na inny obiekt.
- Rejestracja: dni
- Ostatnio: dni
0
Nie da się przesłać jako argument oryginału, lecz zbiór leży w tym samym miejscu w pamięci więc operacje będą te same także na oryginale.
Po co ci to ?
- Rejestracja: dni
- Ostatnio: dni
0
Przy sortowaniu przez wstawianie, chciałbym pracować na oryginalnej liście zadeklarowanej poza metodą i obejmującą całą klasę, aby później móc wywołać ją spoza metody.