Come fare Reverse String in Java?
Pubblicato: 2023-01-06Una stringa è una sequenza di caratteri e viene trattata come un oggetto in Java. È un oggetto in Java che memorizza i dati in un array di caratteri. Una stringa invertita è chiamata stringa inversa. Ad esempio, il contrario della stringa 'program' è 'margorP'.
Sommario
La logica dietro l'inversione di stringhe in Java:
Sono disponibili vari modi per invertire una stringa, ognuno dei quali utilizza funzioni separate. Sebbene i metodi utilizzati siano diversi, il processo fondamentale dietro l'inversione della stringa è quasi lo stesso. La tipica logica utilizzata è:
- Immettere una stringa utilizzando l'input dell'utente o nel codice.
- Prendi i caratteri della stringa a partire dall'ultima posizione e salvali in qualsiasi variabile.
- Visualizza l'output.
Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzata o programmi di master per accelerare la tua carriera.
Vari metodi per invertire la stringa in Java:
- Utilizzo di StringBuffer o StringBuilder
- Utilizzo dell'iterazione inversa
- Utilizzo del metodo charAt()
- Utilizzo dell'oggetto ArrayList
- Usando la ricorsione
- Converti stringa in byte
- Usando Pila
Esaminiamo ciascuno di questi metodi in dettaglio.
Corsi e articoli popolari sull'ingegneria del software
Programmi popolari | |||
Programma PG esecutivo in sviluppo software - IIIT B | Programma di certificazione Blockchain - PURDUE | Programma di certificazione della sicurezza informatica - PURDUE | Laurea Magistrale in Informatica - IIIT B |
Altri articoli popolari | |||
Stipendio per Cloud Engineer negli Stati Uniti 2021-22 | Stipendio di AWS Solution Architect negli Stati Uniti | Stipendio per sviluppatori di backend negli Stati Uniti | Stipendio per sviluppatore front-end negli Stati Uniti |
Salario per sviluppatore web negli Stati Uniti | Domande dell'intervista allo Scrum Master nel 2022 | Come iniziare una carriera nella sicurezza informatica nel 2022? | Opzioni di carriera negli Stati Uniti per studenti di ingegneria |
1. Tramite StringBuilder / StringBuffer
La classe StringBuffer o StringBuilder ha un metodo incorporato reverse() che inverte i caratteri nella stringa. Sostituisce la sequenza dei caratteri in ordine inverso. Questo metodo è il metodo statico che implementa la logica per invertire la stringa in java .
StringBuffer e StringBuilder sono due classi di utilità in Java che gestiscono l'allocazione delle risorse delle manipolazioni delle stringhe.
Usando StringBuffer:
Programma Java che inverte una stringa utilizzando StringBuffer:
public class ExampleofReverseString{
public static void main(String[] args) {
Stringa str1 = "Mela";
//memorizza l'ordine delle stringhe invertito nella variabile rev
String rev = new StringBuffer(str1).reverse().toString();
//stampa la stringa prima del reverse
System.out.println(“\La stringa prima dell'inversione è: “+str1);
//stampa la stringa dopo il reverse
System.out.println(“La stringa dopo l'inversione è: “+rev);
}
}
Produzione:
La stringa prima dell'inversione è: Apple
La stringa dopo l'inversione è: elppA
Nell'esempio precedente, la stringa fornita come input verrebbe memorizzata nel buffer utilizzando StringBuffer. Verrebbe quindi invertito utilizzando il metodo reverse(). Dopo che il buffer è stato invertito, verrebbe convertito in una stringa utilizzando il metodo toString().
Usando StringBuilder:
La classe StringBuilder è altamente preferita rispetto alla classe StringBuffer. È più veloce e non sincronizzato.
Programma Java che inverte una stringa utilizzando StringBuilder:
public class ExampleofReverseString{
public static void main(String[] args) {
Stringa str1 = "Scuola";
// memorizza la stringa invertita nella variabile rev
String rev = new StringBuilder(str1).reverse().toString();
//stampa la stringa prima del reverse
System.out.println(“\nStringa prima dell'inversione: “+str1);
//stampa la stringa dopo il reverse
System.out.println(“Stringa dopo l'inversione: “+rev);
}
}
Produzione:
Corda prima dell'inversione: Scuola
Stringa prima dell'inversione: loohcS
Nel codice precedente viene utilizzato l'oggetto per la classe StringBuilder. Gli oggetti StringBuilder corrispondenti sono efficienti in termini di memoria, modificabili e veloci nell'esecuzione. L'oggetto chiama il metodo incorporato reverse() per fornire l'output desiderato.
2. Per iterazione inversa
Programma Java che inverte una stringa utilizzando l'iterazione inversa:
public class StringReversal {
public static String reverseString(String st){
char ch[]=st.toCharArray();
Stringa giro=””;
for(int i=ch.lunghezza-1;i>=0;i–)
{
giro+=ch[i];
}
giro di ritorno;
}
}
public class TestStringReversal {
public static void main(String[] args) {
System.out.println(StringReversal.reverseString("Sono un insegnante"));
System.out.println(StringReversal.reverseString("Insegno materia inglese"));
}
}
Produzione:
Sono rehcaet
I hcaet hsilgnE tcejbus
Nel programma precedente per la stringa inversa in java , i caratteri della stringa di input sono memorizzati nella variabile rev+ a partire dall'ultima posizione utilizzando for loop. La stringa invertita verrà mostrata nell'output dopo che tutti i caratteri sono stati memorizzati.
Puoi usare While Loop per l'iterazione inversa e il suo codice è il seguente:
public class StringReversal {
public static void main(String[] args)
{
String stringInput = "Questa stringa";
int StrLength=stringInput.length();
while(StrLunghezza >0)
{
System.out.print(stringInput.charAt(StrLength -1));
StrLength–;
}
}
}
Produzione:
gnirtS sihT
3. Utilizzo del metodo charAt()
Il suo programma Java è il seguente:
public class ExampleofReverseString {
public static void main(String[] args) {
String str = "Impara Java";
// memorizza la stringa invertita nella variabile revv
Stringa revv = “”;
//la lunghezza della stringa verrà memorizzata in len
int len=str.lunghezza();
for(int i=len-1;i>=0;i–)
revv = revv + str.charAt(i);
//stampa la stringa prima del reverse
System.out.println(“\nStringa prima dell'operazione di inversione: “+str);
//stampa la stringa dopo il reverse
System.out.println(“Stringa dopo l'inversione: “+ revv);
}
}
Produzione:
Stringa prima dell'operazione di inversione: impara Java
Stringa prima dell'operazione di inversione: avaJ nraeL
In questo programma java per invertire una stringa , i caratteri della stringa di input vengono memorizzati nella variabile revv a partire dall'ultima posizione utilizzando il ciclo for. Dopo che tutti i caratteri sono stati memorizzati, la stringa invertita si rifletterà nell'output.
4. Utilizzo dell'oggetto ArrayList
Il suo programma Java è il seguente:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;
public class ExampleofReverseString {
public static void main(String[] args) {
String str = "Divertiti a programmare";
//converte la stringa di input in un array di caratteri
char ch[]=str.toCharArray();
//aggiunge un array di caratteri all'oggetto di ArrayList
List<Character> obj = new ArrayList<>();
per (carattere c: ch)
obj.add(c);
//passa l'oggetto di ArrayList alle collezioni
Collezioni.reverse(obj);
//crea l'oggetto del listiterator da ripetere sulla lista
ListIterator objnew = obj.listIterator();
//stampa la stringa prima dell'inversione
System.out.println(“\nStringa prima dell'operazione di inversione: “+ str);
//stampa la stringa dopo l'inversione
System.out.println(“\nStringa dopo l'operazione di inversione: “);
while (objnew.hasNext())
System.out.print(objnew.next());
}
}
Produzione:
Stringa prima dell'operazione di inversione: goditi la codifica
Stringa dopo l'operazione di inversione: gnidoc yojnE
Questo programma java per invertire una stringa memorizza i caratteri della stringa di input nell'oggetto ArrayList. Viene invertito utilizzando il metodo reverse () nelle raccolte. L'iteratore scorre l'elenco e stampa la stringa invertita dopo che è stata invertita.
5. Uso della ricorsione
Il suo programma Java è il seguente:
public class ExampleofReverseString {
// definisce la funzione di inversione
String giri(String str) {
// restituisce null se la lunghezza della stringa è zero
if(str.lunghezza() == 0)
{
Restituzione " ";
}
//altrimenti restituisce il carattere risultante dal seguente metodo
return str.charAt(str.length()-1) + revs(str.substring(0,str.length()-1));
}
public static void main(String[ ] args)
{
// crea un oggetto di classe
Esempio di stringa inversa r = new Esempio di stringa inversa ();
//inserisce la stringa
String str = "Master in Java";
//stampa la stringa prima dell'inversione
System.out.println(“\nStringa prima dell'operazione di inversione: “+ str);
//stampa la stringa dopo l'inversione
System.out.println(“\nStringa dopo l'operazione di inversione: ” + r.revs(str));
}
Produzione:
Stringa prima dell'operazione di inversione: Master in Java
Stringa dopo l'operazione di inversione: avaJ ni retsaM
In questo programma Java viene generata una funzione ricorsiva. Controlla la lunghezza della corda e dieci rovesci. Funziona in modo identico per invertire la funzione in java .
6. Conversione di una stringa in byte
Utilizza il metodo getBytes() che converte o suddivide la stringa di input in byte. In quel momento, la lunghezza dell'array di byte è uguale alla lunghezza della stringa di input. Il programma ottiene quindi i byte in ordine inverso e li salva in un nuovo array di byte.
Nel codice seguente viene generato temporaneamente un array di byte. Vengono creati array a due byte, uno per memorizzare i byte convertiti e un altro per salvare il risultato in ordine inverso.
Il suo programma Java è il seguente:
public static void main(String[] arg) {
Stringa inputvalue = "Computer";
byte[] strByteArray = inputvalue.getBytes();
byte[] risultato = new byte[strByteArray.length];
// Memorizza il risultato in ordine inverso nel byte del risultato[]
for (int i = 0; i < strByteArray.length; i++)
risultato[i] = strByteArray [strByteArray.length – i – 1];
System.out.println( "La stringa dopo l'operazione inversa è:" +new String(risultato));
}
Produzione:
La stringa dopo l'operazione inversa è: retupmoC
7) Utilizzo della pila
Questo metodo prevede i seguenti passaggi per invertire una stringa Java utilizzando la struttura dei dati Stack.
- Crea una pila senza caratteri.
- Trasforma una stringa di input in un array di caratteri utilizzando il metodo String.toCharArray(). Successivamente, aggiunge ogni carattere alla pila.
iii. Recupera i caratteri dallo stack finché non è vuoto e quindi assegna nuovamente i caratteri in un array di caratteri. Quindi, ora i personaggi arriveranno in ordine inverso.
- L'array di caratteri viene convertito in una stringa utilizzando String.copyValueOf(char[]) e infine restituisce la nuova stringa.
Il suo programma Java è il seguente:
import java.util.Stack;
classe Principale
{
public static String reverse(String str)
{
// controlla se la stringa è vuota o nulla
if (str == null || str.equals(“”)) {
ritorno str;
}
// genera una pila vuota di caratteri
Stack<Carattere> stack = new Stack<Carattere>();
// aggiunge tutti i caratteri della stringa di input nello stack
char[] ch = str.toCharArray();
for (int i = 0; i < str.length(); i++) {
stack.push(ch[i]);
}
// inizia dall'indice 0
intero m = 0;
// recupera i caratteri dallo stack finché non si svuota
while (!stack.isEmpty())
{
// assegna ogni carattere recuperato all'array di caratteri
ch[m++] = stack.pop();
}
// trasforma l'array di caratteri in una stringa e lo restituisce
return String.copyValueOf(ch);
}
public static void main(String[] args)
{
String str = "Innovazione tecnologica";
str = inverti(str);
System.out.println(“L'inverso della stringa di input: ” + str);
}
}
Produzione
Il contrario della stringa di input: ygolonhceT noitavonnI
Inizia il tuo viaggio in Java con UpGrad
Se vuoi imparare Java, devi comprendere i concetti di Core Java. Per questo, puoi perseguire il Master of Science in Computer Science di UpGrad . Copre argomenti come Core Java, concetti OOPS, oggetti e classi in Java, metodi in Java, Java Virtual Machine, polimorfismo, ereditarietà, astrazione, incapsulamento, ecc. Otterrai una guida esperta del settore. Questi esperti conducono sessioni dal vivo interattive che coprono curriculum e argomenti avanzati.
Qual è il modo più semplice per invertire una stringa in Java?
Il modo più semplice per invertire una stringa in Java è utilizzare la classe StringBuffer. Supporta un metodo noto come reverse() che inverte il contenuto dell'oggetto StringBuffer esistente e restituisce l'oggetto StringBuffer di output.
Qual è il metodo ricorsivo in Java?
Un metodo che chiama se stesso è chiamato metodo ricorsivo in Java. Il processo corrispondente è chiamato ricorsione.
Quali sono le applicazioni di String in Java?
In Java, le stringhe possono essere utilizzate per rilevare il plagio nei codici. Possono essere utilizzati per la codifica e la decodifica per il trasferimento sicuro dei dati dal mittente al destinatario. Le applicazioni di stringa ti aiutano a recuperare informazioni da origini dati anonime. Inoltre, le stringhe e le sue applicazioni di algoritmi forniscono filtri migliorati per risolvere il problema della sovrapposizione approssimativa di suffissi-prefissi.