Usuwanie duplikatów z tablicy.

0

Mam za zadanie sprawdzić, czy tablica 100-elementowa jest różnowartościowa, a następnie usunąć powtarzające się elementy. Wiem mniej więcej, co powinnam zrobić (sortowanie, pętla), ale nie umiem tego zacząć. Mógłby ktoś pomóc?

0

Ja bym przepisał elementy tablicy do jakiegoś zbioru (np. HashSet) i wywołał metodę toArray.

0

Hmm, a jakoś prościej nie dałoby rady? Jestem z Javy trochę zielona i nie wiem, czy zdążę w ciągu 2 dni to opanować, więc wolałabym możliwie najbardziej elementarną metodą. Choć, oczywiście, jeśli prościej się nie da, to spróbuję tak... Chociaż nie wiem nawet, jak zacząć.

0

Skoro jesteś zielona z Javy i masz mało czasu to pasuje wziąć z Javy jakieś korki.

0

Masz klasę Arrays a w niej metodę statyczną asList, która z twojej tablicy zrobi listę. Teraz j.w. możesz tą listę dać do konstruktora klasy HashSet i na obiekcie wywołać to Array i będziesz mieć tablicę bez powtórzeń. Można to zapisać w jednej linijce, ale dla widoczności lepiej w trzech. Jeżeli długość jest 100, to znaczy, że wejściowa miała różne wartości.
To zadziała dla stringów i liczb, dla innych obiektów musisz mieć zrobione odpowiednie metody equals i hashCode. Teraz tylko weź to napisz.

0

@chodnik:
Trzeba pamiętać o jednej rzeczy - Arrays.asList nie skonwertuje int[] na List<Integer> tylko na List<int[]>. Żeby rozwiązanie działało trzeba najpierw mieć tablicę Integer[].

1 użytkowników online, w tym zalogowanych: 0, gości: 1