Matrice di caratteri in Java | Matrice di caratteri Java

Pubblicato: 2020-12-01

Sommario

introduzione

La maggior parte dei dati che elaboriamo oggi contiene caratteri, un linguaggio di programmazione sarà detto flessibile se è familiare a un programmatore e fornisce un modo per gestire i dati dei caratteri.

Gli array di caratteri in Java sono molto utili e facili da usare, le stringhe sono immutabili in Java ma possiamo manipolare le voci nell'array di caratteri. Gli array di caratteri sono più veloci rispetto a elenchi e insiemi e persino semplici rispetto a insiemi ed elenchi.

Esploriamo ora il funzionamento degli array di caratteri!

Dichiarazione e inizializzazione

La dichiarazione di un array di caratteri è simile alla dichiarazione di un array regolare in Java. "char[] array_name" o "char array_name[]" sono le sintassi da seguire per la dichiarazione.

Dopo la dichiarazione, la prossima cosa che dobbiamo fare è l'inizializzazione. "array_name = new char[array_length]" è la sintassi da seguire. Ad ogni modo possiamo fare sia la dichiarazione che l'inizializzazione in un'unica soluzione usando la sintassi "char array_name[] = new char[array_length]". La lunghezza dell'array deve essere dichiarata al momento dell'inizializzazione in un array di caratteri.

prova di classe pubblica {

public static void main ( String args[])

{

//dichiarazione-1

carattere arr[];

arr =nuovo carattere [ 4 ];

//dichiarazione-2

char arr2[] =nuovo carattere [ 4 ];

//assegnazione-1

char arr1[] =nuovo char []{ ' a ' , ' b ' , ' c ' , ' d ' };

//assegnazione-2

arr[ 0 ] = ' un ' ;

arr[ 1 ] = ' b ' ;

arr[ 2 ] = ' c ' ;

arr[ 3 ] = ' d ' ;

Sistema . fuori . println(arr);

Sistema . fuori . println(arr1);

}

}

Nello snippet sopra, la dichiarazione-1 e la dichiarazione-2 sono entrambi modi di dichiarazione e inizializzazione. E l'assegnazione-1 e l'assegnazione-2 sono entrambi modi per inviare le voci a un array. Ricorda che quando stampiamo un array di caratteri stampa tutti i caratteri uniti come una stringa, nel caso precedente l'output sarà "abcd".

Ulteriori informazioni: Gestione degli eventi in Java: cos'è e come funziona?

Ciclo su un array di caratteri

Il loop su un array di caratteri è un'attività divertente in Java, possiamo usare un normale ciclo "for" o "for: each" per eseguire il loop sull'array.

//ciclo-1

for ( int i = 0 ;i < arr . lunghezza;i ++ )

Sistema . fuori . stampa(arr[i]);

//ciclo-2

per ( carattere c : arr)

Sistema . fuori . stampa(c);

Nello snippet sopra, loop-1 è un normale ciclo for e l'output finale del ciclo uno sarà "abcd". E il loop-2 è un for: ogni loop e l'output finale del loop-2 saranno "abcd".

La lunghezza di un array di caratteri può essere raggiunta utilizzando l'attributo length. "Array_name.length" è la sintassi da seguire.

char array[] =nuovo char []{ ' h ' , ' e ' , ' l ' , ' l ' , ' o ' };

Sistema . fuori . println(array .lunghezza ) ;

Il frammento di cui sopra stampa 5, come previsto.

Iscriviti ai corsi di ingegneria del software dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Ordinamento di una matrice di caratteri

Gli array in Java possono essere ordinati usando "Arrays.sort(array_name)". Questo ordinerà lessicograficamente l'array di caratteri passato.

char [] array = { ' h ' , ' e ' , ' l ' , ' l ' , ' o ' };

Matrici . ordina(array);

Sistema . fuori . println( Matrici .toString ( matrice)); //Linea 1

Sistema . fuori . println(array); //linea 2

Si noti che è necessario importare java.util.Arrays per far funzionare Arrays.sort() e Arrays.toString().

Nello snippet sopra, l'array char viene ordinato lessicograficamente e la stampa dell'array stampa i caratteri uniti come una stringa. L'output di "line2" sarà "ehllo" se non si esegue l'output come stringa unita invece si desidera stampare l'intero array con parentesi quadre alle estremità, quindi Arrays.toString() fa il lavoro. L'output di "line1" sarà [e, h, l, l, o].

Nei frammenti di codice precedenti, abbiamo dichiarato gli array di caratteri riempiendo le voci nell'array, ma cosa succede se vogliamo convertire una stringa in un array di caratteri?

Ad ogni modo, inizializziamo un array di caratteri con la lunghezza della stringa, eseguiamo un ciclo sulla stringa e aggiungiamo ogni carattere nell'array farà il lavoro.

Stringa s = ciao ;

char [] arr =nuovo char [s . lunghezza()];

for ( int i = 0 ;i < s . lunghezza();i ++ )

arr[i] = s . charAt(i);

Sistema . fuori . println( Matrici .toString ( arr));

Sopra lo snippet verrà stampato [h, e, l, l,o] come previsto.

Lo snippet sopra farà l'arte di convertire una stringa in un array di caratteri, ma abbiamo bisogno di scrivere questo codice lungo ogni volta che vogliamo convertire una stringa in un array di caratteri?. Ebbene, la risposta sarebbe NO.

Java fornisce un bellissimo metodo chiamato toCharArray() che deve essere applicato su una stringa e restituisce l'array char.

Stringa s = aejou ;

car [] arr = s . toCharArray();

Sistema . fuori . println( Matrici .toString ( arr)); //Linea 1

arr[ 2 ] = ' io ' ;

Sistema . fuori . println( Matrici .toString ( arr)); //linea 2

Come previsto, "line1" stampa [a, e, j, o, u] come output. E come già discusso, a differenza di una stringa possiamo modificare o manipolare le voci di un array di caratteri. Quindi l'output della riga2 sarà [a, e, i, o, u].

Ora che abbiamo visto un metodo per convertire una stringa in un array di caratteri in Java, cosa succede se vogliamo un'attività viceversa?

Non importa che Java abbia anche un metodo per svolgere tali attività.

char [] arr = { ' h ' , ' e ' , ' y ' , ' ' , ' t ' , ' h ' , ' e ' , ' r ' , ' e ' };

Stringa s1 = nuova Stringa (arr); //metodo1

Sistema . fuori . println(s1);

Stringa s2 = Stringa . valoreDi(arr); //metodo2

Sistema . fuori . println(s2);

Nello snippet sopra, possiamo vedere entrambi i metodi per convertire un array di caratteri in una stringa. L'output del frammento di cui sopra sarà "hey there", come previsto.

Leggi anche: 17 interessanti idee e argomenti di progetti Java per principianti

Conclusione

Siamo venuti a sapere cosa sono gli array di caratteri, abbiamo imparato vari modi per inizializzare e dichiarare gli array di caratteri. Ho esaminato uno snippet per eseguire il loop su un array di caratteri. Ordinato un array di caratteri utilizzando il metodo Arrays.sort() predefinito.

E ha osservato un'implementazione ingenua e predefinita della conversione di array da stringa a char, ha anche osservato un'implementazione viceversa utilizzando vari metodi. Ora che conosci bene i concetti degli array di caratteri, inizia a implementarli!

Se sei interessato a saperne di più su Java, OOP e lo sviluppo di software full-stack, dai un'occhiata al programma Executive PG di upGrad e IIIT-B in Full-stack Software Development, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, Oltre 9 progetti e incarichi, stato di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Prepararsi per una carriera del futuro

Candidati ora per un Master in Ingegneria del Software