Tworzenie tablicy unikalnych elementów

0

Cześć!

Mam tablicę tab[7]={4,4,5,6,,6,5,4} i chcę do drugiej tablicy przypisać unikalne elementy tj. 4,5,6 (bez powtórzeń). Wymyśliłem że można to zrobić to tak: bierzesz pierwszy element tablicy tab i porównujesz z kolejnymi elementami, jeśli elementy się powtarzają to zwiększam indeks elementu od którego zaczynam przeszukiwania i znowu porównuje z kolejnymi i tak aż do momentu gdy elementy nie będą się powtarzały. Czyli wygląda to tak biorę 4 i porównuje z kolejnym elementem, 4=4, więc zwiększam indeks elementu tablicy i kolejny element to 4 i porównuje z kolejnymi elementami (jako pierwszy do porównania 5, potem 6 aż do 4 i wtedy 4=4 więc zwiększam indeks elementu i teraz jest 5). Próbowałem to zapisać w kodzie javy

 class Main
{
  public static void main (String[] args) throws java.lang.Exception
  {
     int [] tab={1,1,2,3,2,1,3};
        int [] t;
int a=0;
for(int j=0;j<tab.length;j++){
for(int i=j;i<tab.length;i++)
{
if(tab[j]==tab[i])
a++;
}
}
t=new int[a];
  for(int j=0;j<tab.length;j++){
for(int i=j;i<tab.length;i++)
{
if(!(tab[j]==tab[i]))
t[j]=tab[i]
}
}      

for(int i=; i<t.length;i++)
System.out.println(""+t[i]);
}

Ma on zwracać elementy unikalne, ale coś jest nie tak

0

Algorytm na wyszukiwanie/usuwanie duplikatów będzie lepszym rozwiązaniem.

0

Najprościej, to przepisz w pętli do obiektu typu Set, a potem wywołaj metodę toArray(tab).

0

A czy jak w tablicy będą Stringi to też z tym Setem zadziała, czy może jakoś inaczej trzeba to zrobić?

0

Zadziała.

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