Polia reťazcov v jazyku Java
V programovaní dátový typ String. Reťazec nie je nič iné ako objekt predstavujúci postupnosť hodnôt znakov. Reťazce sú v jave nemenné. Immutable znamená, že reťazce nemožno upravovať v jazyku Java.
Keď v Jave vytvoríme pole typu String, volá sa String Array v jazyku Java.
Ak chcete použiť pole String, najprv ho musíme deklarovať a inicializovať. Existuje viac spôsobov, ako to urobiť.
Vyhlásenie:
Pole String môže byť v programe deklarované bez veľkosti alebo s veľkosťou. Nižšie je uvedený kód pre to isté -
String[] myString0; // without size String[] myString1=new String[4]; //with size
Vo vyššie uvedenom kóde sme deklarovali jedno pole String (myString0) bez veľkosti a ďalšie (myString1) s veľkosťou 4. Oba tieto spôsoby môžeme použiť na deklaráciu nášho poľa String v jave.
Inicializácia:
//first method String[] arr0=new String[]{'Apple','Banana','Orange'}; //second method String[] arr1={'Apple','Banana','Orange'}; //third method String[] arr2=new String[3]; arr2[0]='Apple'; arr2[1]='Banana'; arr2[2]='Orange'; V prvý spôsob , deklarujeme hodnoty na rovnakom riadku. A druhý spôsob je skrátená forma prvej metódy a v posledná metóda najprv vytvoríme pole String s veľkosťou a potom do neho ukladáme údaje.
Iterácia:
Na iteráciu cez pole String môžeme použiť cyklický príkaz.
Java
// Java program to demonstrate the various> // methods to iterate over a string array> public> class> GFG {> > public> static> void> main(String[] args)> > {> > String[] arr = {> 'Apple'> ,> 'Banana'> ,> 'Orange'> };> > // First method> > for> (String i : arr) {> > System.out.print(i +> ' '> );> > }> > System.out.println();> > // Second method> > for> (> int> i => 0> ; i System.out.print(arr[i] + ' '); } System.out.println(); // Third method int i = 0; while (i System.out.print(arr[i] + ' '); i++; } System.out.println(); } }> |
Výkon
Apple Banana Orange Apple Banana Orange Apple Banana Orange
Časová zložitosť: O(N), kde N je dĺžka poľa.
Pomocný priestor: O(1)
Vo všeobecnosti teda máme tri spôsoby, ako iterovať cez pole reťazcov. The prvý spôsob je použiť pre každú slučku. The druhý spôsob používa jednoduchý cyklus for a tretí spôsob je použiť cyklus while. Viac o iterácii cez pole si môžete prečítať v časti Iterácia cez polia v jazyku Java
Hľadá sa:
Na nájdenie prvku zo String Array môžeme použiť jednoduchý lineárny vyhľadávací algoritmus. Tu je implementácia toho istého -
Java
// Java program to perform the searching> // operation on a string array> public> class> GFG {> > public> static> void> main(String[] args)> > {> > String[] arr = {> 'Apple'> ,> 'Banana'> ,> 'Orange'> };> > String key => 'Banana'> ;> > boolean> flag => false> ;> > for> (> int> i => 0> ; i if (arr[i] == key) { System.out.println('Available at index ' + i); flag = true; } } if (flag == false) { System.out.println('Not found'); } } }> |
Výkon
Available at index 1
Vo vyššie uvedenom kóde máme pole String, ktoré obsahuje tri prvky Apple, Banana & Orange. Teraz hľadáme banán. Banán je prítomný na indexovom mieste 1 a to je náš výstup.
Triedenie:
Triedenie pole reťazcov znamená triediť prvky vo vzostupnom alebo zostupnom lexikografickom poradí.
Môžeme použiť vstavaný zoradiť () a môžeme tiež napísať náš vlastný triediaci algoritmus od začiatku, ale pre jednoduchosť tohto článku používame vstavanú metódu.
Java
// Java program to perform the sorting> // operation on a string array> import> java.util.Arrays;> class> GFG {> > public> static> void> main(String[] args)> > {> > String[] arr = {> 'Apple'> ,> 'Cat'> ,> 'Ball'> ,> > 'Cartoon'> ,> 'Banana'> ,> 'Avocado'> };> > // sorting the String array> > Arrays.sort(arr);> > for> (String i : arr) {> > System.out.print(i +> ' '> );> > }> > }> }> |
Výkon
Apple Avocado Ball Banana Cartoon Cat
Tu je naše pole String v nezoradenom poradí, takže po operácii triedenia sa pole zoradí rovnakým spôsobom, aký sme videli v slovníku alebo môžeme povedať v lexikografickom poradí.
Pole reťazcov na reťazec:
Na konverziu z poľa String na reťazec môžeme použiť metódu toString().
Java
// Java program to demonstrate the> // conversion of String array to String> import> java.util.Arrays;> class> GFG {> > public> static> void> main(String[] args)> > {> > String[] arr> > = {> 'The'> ,> 'quick'> ,> 'brown'> ,> 'fox'> ,> 'jumps'> ,> > 'over'> ,> 'the'> ,> 'lazy'> ,> 'dog'> };> > // converting to string> > String s = Arrays.toString(arr);> > System.out.println(s);> > }> }> |
Výkon
[The, quick, brown, fox, jumps, over, the, lazy, dog]
Tu sa pole String skonvertuje na reťazec a uloží sa do premennej typu reťazec, ale jednu vec, ktorú je potrebné poznamenať, je, že v reťazci sú tiež prítomné čiarky (,) a zátvorky. Na vytvorenie reťazca z poľa reťazcov bez nich môžeme použiť nižšie uvedený útržok kódu.
Java
// Java program to demonstrate the> // conversion of String array to String> public> class> GFG {> > public> static> void> main(String[] args)> > {> > String[] myarr> > = {> 'The'> ,> 'quick'> ,> 'brown'> ,> 'fox'> ,> 'jumps'> ,> > 'over'> ,> 'the'> ,> 'lazy'> ,> 'dog'> };> > StringBuilder sb => new> StringBuilder();> > sb.append(myarr[> 0> ]);> > for> (> int> i => 1> ; i sb.append(' ' + myarr[i]); } String s = sb.toString(); System.out.println(s); } }> |
Výkon
The quick brown fox jumps over the lazy dog
Vo vyššie uvedenom kóde máme objekt StringBuilder trieda. Pripájame to pre každý prvok poľa reťazcov (myarr). Potom ukladáme obsah objektu StringBuilder ako reťazec pomocou metódy toString().