logo

Pole znaků v Javě

Pole znaků v Javě je pole, které obsahuje hodnoty datových typů znaků. V programování Java, na rozdíl od C, se pole znaků liší od pole řetězců a řetězec ani pole znaků nelze ukončit znakem NUL.

řetězec jako pole

Jazyk Java používá reprezentaci UTF-16 ve znakových polích, řetězcích a třídách StringBuffer.

Pole znaků jsou velmi výhodná Jáva . Jsou velmi efektivní a rychlejší. S daty lze také manipulovat bez jakýchkoliv alokací.

Řetězce Java jsou neměnné, což znamená, že jakmile jsou vytvořeny, nemůžeme změnit jejich vnitřní stav. Pole znaků nám však umožňují po vytvoření manipulovat. Přijatelné jsou i datové struktury List a Set.

Co je znak v Javě

v Javě jsou znaky primitivní datové typy. The klíčové slovo char se používá k deklaraci znakových typů proměnných a metod. Výchozí hodnota datového typu char 'u0000' . Hodnoty znaků jsou uzavřeny jednou uvozovkou. Jeho výchozí velikost je 2 bajty.

Datový typ char může způsobit následující hodnoty:

  • Jakákoli abeceda
  • Čísla od 0 do 65 535 (včetně)
  • speciální znaky (@, #, $, %, ^, &, *, (, ), ¢, £, ¥)
  • 16bitové znaky Unicode.

Jak deklarovat pole znaků

Pole znaků můžeme deklarovat pomocí klíčového slova char s hranatými závorkami. Pole znaků lze deklarovat následovně:

 char[] JavaCharArray; 

Hranatou závorku můžeme umístit i na konec příkazu:

 char JavaCharArray[]; 

Po deklaraci je další věcí inicializace. Pojďme pochopit, jak inicializovat pole znaků:

Jak inicializovat pole znaků

Můžeme inicializovat pole znaků s počáteční kapacitou. Chcete-li například přiřadit instanci o velikosti 5, inicializujte ji následovně:

 char[] JavaCharArray = new char[5]; 

Hodnoty budou tomuto poli přiřazeny následovně:

 char[] JavaCharArray = new char[5]; JavaCharArray[0] = 'a'; JavaCharArray[1] = 'b'; JavaCharArray[2] = 'c'; JavaCharArray[3] = 'd'; JavaCharArray[4] = 'e'; 

Na poli znaků můžeme provádět mnoho užitečných operací, jako je řazení, opakování, převod na řetězec a další. Pojďme jim rozumět:

Smyčky v poli znaků

Pro iteraci hodnot v poli znaků můžeme použít cyklus for.

Zvažte níže uvedený příklad:

CharArrayDemo.java:

 public class CharArrayDemo { public static void main(String[] args) { char[] JavaCharArray = {'a', 'b', 'c', 'd', 'e'}; for (char c:JavaCharArray) { System.out.println(c); } } } 

Výstup:

 a b c d e 

Můžeme to také iterovat následovně:

CharArrayDemo1.java:

 public class CharArrayDemo1 { public static void main(String[] args) { char[] JavaCharArray = {&apos;a&apos;, &apos;b&apos;, &apos;c&apos;, &apos;d&apos;, &apos;e&apos;}; for (int i=0; i<javachararray.length; i++) { system.out.println(javachararray[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> a b c d e </pre> <p>From the above examples, both programs are producing the same output. So we can iterate the character array using any of the above implementation methods.</p> <p>Let&apos;s understand how to sort a character array:</p> <h3>Sorting a Character Array</h3> <p>The Arrays.sort() method is used to sort an array. Consider the below syntax of Array.sort() method:</p> <pre> Arrays.sort(ArrayName) </pre> <p>Consider the below example:</p> <p> <strong>CharArrayDemo2.java:</strong> </p> <pre> import java.util.Arrays; public class CharArrayDemo2 { public static void main(String[] args) { char[] JavaCharArray = {&apos;e&apos;, &apos;b&apos;, &apos;c&apos;, &apos;a&apos;, &apos;d&apos;}; Arrays.sort(JavaCharArray); System.out.println(Arrays.toString(JavaCharArray)); } } </pre> <p> <strong>Output:</strong> </p> <pre> [a, b, c, d, e] </pre> <p>From the above example, we can see the array values are printed in sorted order. By default, it will sort in ascending order.</p> <h3>Length of a Character Array</h3> <p>We can count the length of an array by using the below syntax:</p> <pre> ArrayName.length </pre> <p>Consider the below example:</p> <p> <strong>CharArrayDemo3.java:</strong> </p> <pre> public class CharArrayDemo3 { public static void main(String[] args) { char[] JavaCharArray = {&apos;a&apos;, &apos;b&apos;, &apos;c&apos;, &apos;d&apos;, &apos;e&apos;,&apos;f&apos;}; System.out.println(JavaCharArray.length); } } </pre> <p> <strong>Output:</strong> </p> <pre> 6 </pre> <p>From the above example, we can see the array length is displayed.</p> <h2>How to Convert a String Array into Character Array</h2> <p>We can easily <a href="/how-convert-char-array-string-java">convert a string array into a character array</a> using the toCharArray() method. It is the easiest method to convert a string field into a character field.</p> <p>Consider the below example:</p> <pre> public class CharArrayDemo4 { public static void main(String[] args) { String value = &apos;JavaTPoint&apos;; //Enter String //Convert string to a char array. char[] array = value.toCharArray(); // Conversion to character from string for(char c : array) //Iterating array values { System.out.println(c); } } } </pre> <p> <strong>Output:</strong> </p> <pre> J a v a T P o i n t </pre> <p>From the above example, a string array is converted into a character array.</p> <hr></javachararray.length;>

Z výše uvedených příkladů oba programy produkují stejný výstup. Můžeme tedy iterovat pole znaků pomocí kterékoli z výše uvedených metod implementace.

Pojďme pochopit, jak seřadit pole znaků:

Třídění pole znaků

Metoda Arrays.sort() se používá k řazení pole. Zvažte níže uvedenou syntaxi metody Array.sort():

 Arrays.sort(ArrayName) 

Zvažte níže uvedený příklad:

CharArrayDemo2.java:

 import java.util.Arrays; public class CharArrayDemo2 { public static void main(String[] args) { char[] JavaCharArray = {&apos;e&apos;, &apos;b&apos;, &apos;c&apos;, &apos;a&apos;, &apos;d&apos;}; Arrays.sort(JavaCharArray); System.out.println(Arrays.toString(JavaCharArray)); } } 

Výstup:

 [a, b, c, d, e] 

Z výše uvedeného příkladu vidíme, že hodnoty pole jsou vytištěny v seřazeném pořadí. Ve výchozím nastavení se bude třídit vzestupně.

Délka pole znaků

Délku pole můžeme spočítat pomocí níže uvedené syntaxe:

 ArrayName.length 

Zvažte níže uvedený příklad:

CharArrayDemo3.java:

 public class CharArrayDemo3 { public static void main(String[] args) { char[] JavaCharArray = {&apos;a&apos;, &apos;b&apos;, &apos;c&apos;, &apos;d&apos;, &apos;e&apos;,&apos;f&apos;}; System.out.println(JavaCharArray.length); } } 

Výstup:

 6 

Z výše uvedeného příkladu vidíme, že je zobrazena délka pole.

Jak převést pole řetězců na pole znaků

Můžeme snadno převést pole řetězců na pole znaků pomocí metody toCharArray(). Je to nejjednodušší způsob, jak převést pole řetězce na pole znaků.

Zvažte níže uvedený příklad:

 public class CharArrayDemo4 { public static void main(String[] args) { String value = &apos;JavaTPoint&apos;; //Enter String //Convert string to a char array. char[] array = value.toCharArray(); // Conversion to character from string for(char c : array) //Iterating array values { System.out.println(c); } } } 

Výstup:

 J a v a T P o i n t 

Z výše uvedeného příkladu je pole řetězců převedeno na pole znaků.