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
 1/11 anonim ***** válasza:
2018. márc. 25. 09:23
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

1, Kiprinteled a tartalmát és látod.


2, Ha nagyon akarod megnézheted a Collection frameworköt, hogy mikor mit érdemes használni, de 3 emlemű tömbnél kb hullamind1.

2018. márc. 25. 09:47
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:
36%

"erőforrás igényes"

És, nimcs CPU a gépedben, vagy mi a gond?

2018. márc. 25. 09:58
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:
A 3 elem csak példa. Lehet több százezer tagú is egy tömb.
2018. márc. 25. 10:07
 5/11 anonim ***** válasza:
36%

"honnan tudom, hogy a tömb rendezett-e?"

Csinálsz egy ciklust 0-tól elemszám-1-ig és összehasonlítod páronként (márint a szomszédokat)... ez a tömb méretével lineáris időben lefut.


Sok elem esetén pedig valahogy rendezned kell - ha nem is az Array.sort-tal -, hogy gyorsan megállapítsd hogy azonosak-e az elemek. Ez igazából az elemektől függ hogy hogy érdemes.

2018. márc. 25. 10:28
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:
0%
Erőforrásigényes a rendezés? És akkor mivan? Ez a szűk keresztmetszet? Rontja a felhasználói élményt, hogy akár 70 ms is lehet a rendezés? Valószínűleg nem. Akkor meg mit foglalkozol vele?
2018. márc. 25. 11:13
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

Ha a rendezés stabil, akkor nincs gond abból, ha a tömb rendezett.

Kedves kérdező, lehetőséged van rendezés után először hashértékeket kiszámítani, és azokat összehasonlítani. Ha egyeznek, akkor jöhet az equals.

2018. márc. 25. 18:56
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
Engem érdekelne a konrét probléma. Mert ha azt akarod vizsgálni hogy egy tömb tartalma megváltozott-e, akkor lehet hogy érdemes a változáskor az utolsó változás idejét rögzíteni, és csak azt vizsgálni.
2018. márc. 25. 20:21
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:
Meg jó lenne tudni mik vannak a tömbben? Számok? Lehet többször egy elem? van valami értékhatár amik között mozoknak az elemek?
2018. márc. 25. 22:10
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:
2018. márc. 26. 14:24
Hasznos számodra ez a válasz?
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!