Kezdőoldal » Számítástechnika » Programozás » Hogy ellenőrizhető két tömb...

Hogy ellenőrizhető két tömb egyenlősége java-ban?

Figyelt kérdés

Egyenlőség alatt azt értem, hogy ugyanazokat az elemeket tartalmazza, de akár más sorrendben.


Adott két tömb:

int[] a = {1, 2, 3};

int[] b = {1, 2, 3};


Erre ugye az Arrays.equals(a,b); true-t ad vissza, de így:

int[] a = {1, 2, 3};

int[] b = {3, 2, 1};


már false az eredmény.


Megoldásnak azt látom, hogy rendezzük a tömböt és összehasonlítjuk őket, de:

1.honnan tudom, hogy a tömb rendezett-e? Mert így rendezni kell a már rendezett tömböt is (a példában az a tömböt is.)


2.a rendezés (bár az Arrays.sort() quicksort) erőforrás igényes.


Mi a megoldás?



2018. márc. 25. 08:55
1 2
 11/11 A kérdező kommentje:

Üdv!


Konkrét probléma nincs csupán azzal foglalkoztam, hogy két tömböt hogy tudok ily módon összehasonlítani. Lehet a tömbökben bármilyen adat és viszonylag sok i, hiszen a tömb integerrel van indexelve szóval akár Integer.MAXVALUE indexű elem is lehet benne.


Kipróbáltam több megoldást is. A hashcode-osat még nem.


Kézenfekvő volt, hogy a tömböket átalakítsam valami Collection-t implementáló adatszerkezetre és akkor a containsAll() jó lehet.

2018. márc. 26. 20:07
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!