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?
Ja bym przepisał elementy tablicy do jakiegoś zbioru (np. HashSet) i wywołał metodę toArray.
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ąć.
Skoro jesteś zielona z Javy i masz mało czasu to pasuje wziąć z Javy jakieś korki.
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.
@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[].