Što trebate znati o korištenju nizova u Javi

Što trebate znati o korištenju nizova u Javi

Nakon što počnete učiti Javu, klasa String privući će vašu pažnju zahvaljujući svojim jedinstvenim svojstvima.





Možete stvoriti i upravljati nizovima u Javi lakše nego u drugim jezicima. To je zato što klasa String nudi razne značajke.





Na temelju ovih značajki postoji nekoliko metoda za generiranje i uređivanje nizova ovisno o vašim željama i potrebama. Slično, mnogo će ovisiti o vašoj aplikaciji i o tome gdje se nizovi trebaju koristiti.





Po čemu se Java nizovi razlikuju?

Ako ste već radili s jezikom C, znate da su nizovi u jeziku C niz znakovi (likovi). S druge strane, Java nizovi su nepromjenjivi i sadrže Unicode znakove.

prijavite se na playstation network ps4

Jedna od ključnih značajki koje nizove u Javi čine jedinstvenim je spajanje. Samo upotrijebite operator zbrajanja + za spajanje dva ili više nizova. To je nešto što ne možete učiniti s drugim Java objektima, npr Točka ili Krug .



Također, kao što je već spomenuto, Java nizovi su nepromjenjivi, tj. Ne možete ih mijenjati. Na primjer, metode poput toUpperCase () i toLowerCase () generirati potpuno novi niz, umjesto da mijenja postojeći sadržaj niza. Sada će vaš kod vratiti ovaj novo generirani niz.

Povezano: Kako manipulirati tekstom u PHP -u ​​s ovim funkcijama





Još jedno područje u kojem se nizovi razlikuju je kada se radi o korištenju null znakova za završavanje nizova u jezicima poput C. U Javi su nizovi objekti podržani nizovima znakova. Ako želite čitati sadržaj niza na način na koji ga predstavljaju znakovni nizovi, koristeći toCharArray () metoda će odraditi posao.

Usporedba nizova u Javi također je prikladnija nego u drugim programskim jezicima. Umjesto pisanja dugotrajnog bloka koda za usporedbu nizova, možete koristiti jednako () metoda za usporedbu dva ili više nizova koji se koriste u bilo kojem programu. To je uglavnom zato što se u Javi, jednak metodu nadjačava klasa String, što čini usporedbu niza komadom kolača.





Slično tome, pretraživanje unutar podnizova u Javi također nije jednostavno. Dok koristite regularne izraze ili metodama poput lastIndexOf () i indexOf (), možete pretraživati ​​segmente nizova i vraćati vrijednosti nakon što se identificira podudaranje. Također možete koristiti regularne izraze za obrezivanje i dijeljenje različitih nizova te ih koristiti pojedinačno za širok raspon upotreba u bilo kojem programu.

Kako se nizovi čuvaju u memoriji?

Sada kada znate što nizove u Javi čini različitim i korisnim, istražimo klasu String. Ako znate nešto o upravljanju memorijom u Javi, mora da ste se pozabavili s dva ključna entiteta: hrpom i stekom.

Niz se koristi za izvršavanje procesa i operacija nakon što ih pozove Java program, dok hrpa pohranjuje sadržaj - potreban za učinkovito pokretanje i izvršavanje koda. Dakle, koliko je upravljanje memorijom relevantno u slučaju nizova?

To je zato što klasa String i literalni nizovi u Javi imaju različit tretman. To ukazuje da je nizovima literal dodijeljen jedinstveni prostor za pohranu u memoriji hrpe, koji se naziva spremište nizova konstanti. Stoga, kad god koristite literalne nizove za stvaranje nizovanih objekata u Javi, String Constant Pool ih pohranjuje.

Naprotiv, kada koristite novi ključne riječi za stvaranje niz objekata, Java će ih tretirati kao i svaki drugi objekt i poslati ih na hrpu radi pohrane.

Primjer literalnih znakova

Sada kada znate dovoljno o nizanim objektima, prođimo kroz primjer literalnih znakova:


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

Ovdje je literal niza stvorio objekt String sa sadržajem Hello World iz MUO -a. Java će poslati ovaj objekt u spremište nizova konstanti.

Korištenje nove ključne riječi

Također možete koristiti novi ključna riječ za generiranje String objekata.

Nizni objekt niza himuo sa sadržajem Hello World iz MUO -a generiran je literalnim nizom i bit će poslan u spremište nizova konstanti. Slično, objekti niza također se mogu stvoriti pomoću nove ključne riječi na sljedeći način:


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

Gornji primjer koristi novi ključna riječ za stvaranje objekta niza. Kao što je prethodno objašnjeno, oni se šalju na hrpu, gdje se pohranjuju s drugim varijablama i objektima koji čekaju da ih program izvrši.

Do sada ste već morali biti znatiželjni o String Constant Pool -u, i to s pravom. On dodjeljuje prostor spremišta objektima na temelju sadržaja objekta niza. Nakon što spremište stalnih nizova prima objekte, provjerava ih kako bi provjerilo sadrže li dva objekta potpuno isti sadržaj.

Mogu li dva nizna objekta pohraniti isti sadržaj?

Kada se nizovska literala koristi za stvaranje novog objekta, Java virtualni stroj (JVM) pregledava sadržaj objekta i procjenjuje postoji li već u spremištu. Kad objekt sadrži sadržaj koji je već prisutan u spremištu, referenca objekta se vraća bez stvaranja novog objekta. Ako morate stvoriti novi objekt, morate se pobrinuti da je sadržaj različit i jedinstven.

Međutim, ako koristite novi ključne riječi za stvaranje novog niza, bit će drugačije obrađen. Kada koristite novi ključna riječ za stvaranje novog niza, bit će generirana, bez obzira sadrži li isti sadržaj kao i postojeći niz.

Ovo ukazuje na to da dva postojeća objekta niza pohranjena u memoriji hrpe smiju sadržavati isti sadržaj; ovo se razlikuje od string objekata pohranjenih u String Constant Pool. To možete dokazati i pomoću operatora ==; vraća true ako se uspoređuju dva objekta s istom fizičkom adresom.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

Sada možete jednostavno razumjeti nizove u Javi

U ovom članku naučili ste kako su nizovi u Javi različiti, načini korištenja nizova u Javi, upravljanje memorijom nizova u Javi i drugi važni detalji o tome kako nizovi funkcioniraju. Kako biste provjerili svoje razumijevanje, zašto ne biste napisali Java program za spajanje dva niza?

Udio Udio Cvrkut E -pošta Učenje Pythona? Evo kako manipulirati nizovima

Korištenje i rukovanje nizovima u Pythonu može izgledati teško, ali je varljivo jednostavno.

Pročitajte Dalje
Povezane teme
  • Programiranje
  • Java
O autoru Usman Ghani(Objavljena 4 članka)

Usman je prodavač sadržaja koji je pomogao nekoliko tvrtki s organskim rastom na digitalnim platformama. Voli i programiranje i pisanje, što znači da je tehničko pisanje nešto u čemu jako voli. Kad ne radi, Usman voli provoditi vrijeme gledajući TV emisije, pratiti kriket i čitati o analizi podataka.

Više od Usmana Ghanija

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu