Pole řetězců v Javě
V programování datový typ String. Řetězec není nic jiného než objekt představující posloupnost hodnot znaků. Řetězce jsou v Javě neměnné. Immutable znamená, že řetězce nelze v jazyce Java upravovat.
Když v Javě vytvoříme pole typu String, zavolá se String Array v Javě.
Abychom mohli použít pole String, musíme jej nejprve deklarovat a inicializovat. Existuje více než jeden způsob, jak to udělat.
Prohlášení:
Pole String může být v programu deklarováno bez velikosti nebo s velikostí. Níže je kód pro totéž -
String[] myString0; // without size String[] myString1=new String[4]; //with size
Ve výše uvedeném kódu jsme deklarovali jedno pole String (myString0) bez velikosti a další (myString1) o velikosti 4. Oba tyto způsoby můžeme použít pro deklaraci našeho pole String v jazyce Java.
Inicializace:
//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 první metoda , deklarujeme hodnoty na stejném řádku. A druhá metoda je krátká forma první metody a v poslední metoda nejprve vytvoříme pole String s velikostí a poté do něj uložíme data.
Opakování:
K iteraci polem String můžeme použít příkaz opakování.
Jáva
// 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ýstup
Apple Banana Orange Apple Banana Orange Apple Banana Orange
Časová složitost: O(N), kde N je délka pole.
Pomocný prostor: O(1)
Obecně tedy máme tři způsoby, jak iterovat pole řetězců. The první metoda je použít pro každou smyčku. The druhá metoda používá jednoduchý cyklus for a třetí způsob je použít smyčku while. Více o iteraci přes pole si můžete přečíst v části Iterace přes pole v Javě
vyhledávání:
K nalezení prvku ze String Array můžeme použít jednoduchý lineární vyhledávací algoritmus. Zde je implementace pro totéž -
Jáva
// 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ýstup
Available at index 1
Ve výše uvedeném kódu máme pole String, které obsahuje tři prvky Apple, Banana & Orange. Nyní hledáme banán. Banán je přítomen na pozici indexu 1 a to je náš výstup.
řazení:
Řazení pole řetězců znamená seřadit prvky ve vzestupném nebo sestupném lexikografickém pořadí.
Můžeme použít vestavěný seřadit () a můžeme také napsat vlastní třídicí algoritmus od začátku, ale pro jednoduchost tohoto článku používáme vestavěnou metodu.
Jáva
// 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ýstup
Apple Avocado Ball Banana Cartoon Cat
Zde je naše pole String v netříděném pořadí, takže po operaci řazení je pole seřazeno stejným způsobem, jaký jsme viděli ve slovníku nebo můžeme říci v lexikografickém pořadí.
Pole řetězců na řetězec:
Pro převod z pole String na String můžeme použít metodu toString().
Jáva
// 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ýstup
[The, quick, brown, fox, jumps, over, the, lazy, dog]
Zde je pole String převedeno na řetězec a je uloženo do proměnné typu řetězec, ale jedna věc, kterou je třeba poznamenat, je, že v řetězci jsou také přítomny čárka (,) a závorky. Chcete-li vytvořit řetězec z pole řetězců bez nich, můžeme použít níže uvedený fragment kódu.
Jáva
// 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ýstup
The quick brown fox jumps over the lazy dog
Ve výše uvedeném kódu máme objekt StringBuilder třída. Připojujeme to pro každý prvek pole řetězců (myarr). Poté ukládáme obsah objektu StringBuilder jako řetězec pomocí metody toString().