Bytt gjenstander i Java

Bytt gjenstander i Java
Mens det arbeider med bulkdata i Java, blir det utfordrende for utvikleren å oppdatere flere verdier praktisk. For eksempel å bytte komplekset, jeg.e., “kodet”Verdier med de inneholdte oppføringene som holder de andre postene og kodefunksjonalitetene intakte. I slike tilfeller, "Bytte gjenstander”I Java gjør underverker i å redusere bryet og spare tid på programmererens slutt.

Denne artikkelen vil demonstrere metodologiene for å "bytte objekter" ved hjelp av Java.

Hvordan "bytte objekter" i Java?

Objektene i Java kan byttes ved hjelp av den brukerdefinerte funksjonen kombinert med følgende:

  • Aritmetiske operatører”.
  • Innpakning”Klasse og“Oppdragsoperatør”.

Tilnærming 1: Bytte objekter i Java ved å bruke "aritmetiske operatører"

I denne tilnærmingen kan klasseobjektene byttes ved å utføre aritmetiske operasjoner på de opprettede objektene via “brukerdefinert”Funksjon:

klasse SwappingObj
offentlig int -alder;
public swappingObj (int alder)
dette.alder = alder;

offentlig klasse temp
Offentlig statisk tomrombytte (SwappingOBJ Value1,
SwappingObj verdi2)
verdi1.Alder = verdi1.Alder + verdi2.alder;
verdi2.Alder = verdi1.Alder - Verdi2.alder;
verdi1.Alder = verdi1.Alder - Verdi2.alder;

I følge ovennevnte “klasse”Kode, bruk følgende trinn:

  • For det første, definere en klasse som heter “Swappingobj”.
  • I sin definisjon, spesifiser den angitte variabelen.
  • Lag også en klassekonstruktør som har den oppgitte parameteren.
  • I konstruktørdefinisjonen, se den spesifiserte variabelen og tildel den til parameterverdien via “dette”.
  • Merk at denne verdien vil bli gitt senere som et argument via "hoved()”Metode.
  • Nå, definer en funksjon som heter “bytte()”Å ha de medfølgende parametrene som refererer til objektene som må byttes ut.
  • I sin definisjon, se den spesifiserte hovedklassevariabelen, i.e., “alder”.
  • Etter det, lagre tillegg av den passerte “alder”Verdier i den tidligere funksjonsparameteren, i.e., “verdi1”.
  • Tilsvarende returner subtraksjonen av den passerte “alder”Verdier først i de refererte objektene”verdi2”Og så i“verdi1”.
  • Merk: Subtraksjonen i de to siste tilfellene vil ikke gi samme utfall siden den oppdaterte verdien av parametrene, i.e., “verdi1”Og“verdi2”Vil bli påkalt i henholdsvis den nest siste og siste beregningen.

La oss nå oversikt over den under-leverte "hoved()”Metode:

public static void main (String [] args)
SwappingObj obj1 = ny SwappingObj (18);
SwappingObj obj2 = ny SwappingObj (25);
System.ute.println ("før bytte->");
System.ute.println ("Det første objektet er:" + obj1.alder);
System.ute.println ("Det andre objektet er:" + obj2.alder);
Swap (obj1, obj2);
System.ute.println ("etter bytte->");
System.ute.println ("Det første objektet er:" + obj1.alder);
System.ute.println ("Det andre objektet er:" + obj2.alder);

I denne kodebiten:

  • Lag to klasseobjekter som heter “obj1”Og“obj2”Via“ny”Nøkkelord og“SwappingObj ()Henholdsvis konstruktør.
  • I konstruktørparameteren, pass de to “alder”Verdier som må byttes og vise dem.
  • Nå, påkalle funksjonen "bytte()”Og passere de skapte klasseobjektene som argumenter.
  • Dette vil resultere for de beståtte objektverdiene via de aritmetiske operatørene.

Hele koden

klasse SwappingObj
offentlig int -alder;
public swappingObj (int alder)
dette.alder = alder;

offentlig klasse temp
Offentlig statisk tomrombytte (SwappingOBJ Value1,
SwappingObj verdi2)
verdi1.Alder = verdi1.Alder + verdi2.alder;
verdi2.Alder = verdi1.Alder - Verdi2.alder;
verdi1.Alder = verdi1.Alder - Verdi2.alder;

public static void main (String [] args)
SwappingObj obj1 = ny SwappingObj (18);
SwappingObj obj2 = ny SwappingObj (25);
System.ute.println ("før bytte->");
System.ute.println ("Det første objektet er:" + obj1.alder);
System.ute.println ("Det andre objektet er:" + obj2.alder);
Swap (obj1, obj2);
System.ute.println ("etter bytte->");
System.ute.println ("Det første objektet er:" + obj1.alder);
System.ute.println ("Det andre objektet er:" + obj2.alder);

Produksjon

I dette utfallet kan det analyseres at objektverdiene blir byttet på riktig måte.

Tilnærming 2: Bytte objekter i Java ved å bruke "innpakningsklassen" og "Oppdragsoperatøren"

I denne spesielle tilnærmingen kan det opprettede klasseobjektet byttes ved hjelp av en ekstern innpakningsklasse ved å henvise til hovedklassen og tildelingsoperatøren “=”:

Klasseobjekt
offentlig int -alder;
objekt (int alder)
dette.alder = alder;

klasseinnpakning
objekt x;
Innpakning (objekt indre)
dette.x = indre;

offentlig klasse temp2
statisk tomrombytte (innpakningsobjekt1, innpakningsobjekt2)
objekttemp;
temp = objekt1.x;
Objekt1.x = objekt2.x;
Objekt2.x = temp;

I de ovennevnte linjene med klassekode, bruk følgende trinn:

  • Husk de diskuterte tilnærmingene til å definere en klasse og referere til den spesifiserte variabelen ved hjelp av klassekonstruktøren.
  • Etter det, erklærer en innpakningsklasse som heter “Innpakning”.
  • I sin definisjon, se hovedklassen som heter “gjenstand”Og spesifiser variabelen”x”Basert på det.
  • Inkluder også en klassekonstruktør og tilordne den beståtte objektverdien til den spesifiserte variabelen via “dette”.
  • Nå, på samme måte, definer en byttefunksjon som heter “bytte()”Hvor funksjonsparametrene peker på objektverdiene som må byttes ut.
  • I funksjonsdefinisjonen passerer på samme måte en referanse fra hovedklassen til variabelen "temp”Og tilordne den den tidligere objektverdien pakket inn i innpakningsklassen.
  • I neste trinn, tildel verdien av sistnevnte objekt til det tidligere objektet.
  • Til slutt, tilordne den oppdaterte verdien av “temp”Til sistnevnte innpakkede objekt, jeg.e., “Objekt2”.

La oss nå fortsette til "hoved()”Metode:

public static void main (String [] args)
objekt ob1 = nytt objekt (25);
objekt ob2 = nytt objekt (30);
Innpakning SwapObject1 = ny innpakning (OB1);
Innpakning SwapObject2 = ny innpakning (OB2);
System.ute.println ("før bytter -> \ nage1:" + swapobject1.x.alder +
"\ n" + "Age2:"
+ SwapObject2.x.alder + "\ n");
SWAP (SwapObject1, SwapObject2);
System.ute.println ("Etter å ha byttet -> \ nage1:" + swapobject1.x.alder +
"\ n" + "Age2:"
+ SwapObject2.x.alder);

I følge ovennevnte “hoved()”Metode, bruk følgende trinn:

  • Gjenta de forklarte tilnærmingene for å lage klasseobjekter og passere de uttalte “alder”Verdier som konstruktørparametere.
  • I neste trinn lager du to innpakningsklasseobjekter og pakker hovedklasseobjektene som konstruktørparametere.
  • Vis også utfallet før du bytter gjenstandene.
  • Få tilgang til “bytte()”Funksjon og passere de innpakkede klasseobjektene som argumenter.
  • Dette vil føre til å bytte "hoved-”Klasseobjekter.

Hele koden

Klasseobjekt
offentlig int -alder;
objekt (int alder)
dette.alder = alder;

klasseinnpakning
objekt x;
Innpakning (objekt indre)
dette.x = indre;

offentlig klasse temp2
statisk tomrombytte (innpakningsobjekt1, innpakningsobjekt2)
objekttemp;
temp = objekt1.x;
Objekt1.x = objekt2.x;
Objekt2.x = temp;

public static void main (String [] args)
objekt ob1 = nytt objekt (25);
objekt ob2 = nytt objekt (30);
Innpakning SwapObject1 = ny innpakning (OB1);
Innpakning SwapObject2 = ny innpakning (OB2);
System.ute.println ("før bytter -> \ nage1:" + swapobject1.x.alder +
"\ n" + "Age2:"
+ SwapObject2.x.alder + "\ n");
SWAP (SwapObject1, SwapObject2);
System.ute.println ("Etter å ha byttet -> \ nage1:" + swapobject1.x.alder +
"\ n" + "Age2:"
+ SwapObject2.x.alder);

Produksjon

Denne utgangen antydet at byttet utføres på riktig måte via innpakningsklassen og den brukerdefinerte funksjonen.

Konklusjon

Objektene i Java kan byttes ved hjelp av den brukerdefinerte funksjonen kombinert med "Aritmetiske operatører" eller "Innpakning”Klasse og“Oppdragsoperatør”. Den tidligere tilnærmingen bytter objektene og utfører ganske enkelt beregningene basert på de oppdaterte objektverdiene på hvert trinn. Den sistnevnte tilnærmingen bruker bytte ved å referere til hovedklasseobjektene, pakke dem inn og bruke tildelingsoperatøren i den brukerdefinerte funksjonen. Denne artikkelen guidet om å bytte gjenstander i Java.