5 načina za manipulaciju nizovima u Javi

Sadržaj:

5 načina za manipulaciju nizovima u Javi
5 načina za manipulaciju nizovima u Javi

Video: 5 načina za manipulaciju nizovima u Javi

Video: 5 načina za manipulaciju nizovima u Javi
Video: Kako snimati zaslon ekrana na Samsung Galaxy bez aplikacija (2021) 2024, April
Anonim

Nizovi su nizovi znakova. Na primjer, "Hello!" je niz jer se sastoji od znakova 'H', 'e', 'l', 'l', 'o' i '!'. U Javi, nizovi su objekti, što znači da postoji klasa String koja ima polja i metode. Za manipulaciju nizovima možemo koristiti metode klase String.

Koraci

Metoda 1 od 5: Kreirajte niz

3016567 1 1
3016567 1 1

Korak 1. Kreirajte niz pomoću konstruktora klase String

    String str = new String ("Zdravo!");

3016567 2 1
3016567 2 1

Korak 2. Kreirajte niz direktnim dodjeljivanjem niza

3016567 3 1
3016567 3 1

Korak 3. Isprobajte primjer

Evo primjera programa koji stvara niz na dva različita načina.

    javna klasa StringManipulation {public static void main (String args) {String str1 = new String ("String kreiran pomoću konstruktora!"); String str2 = "Niz kreiran bez konstruktora!"; System.out.println (str1); System.out.println (str2); }}

Metoda 2 od 5: Pronađite dužinu niza

Korak 1. Shvatite šta znači pronaći dužinu niza

Dužina niza je broj znakova koji niz sadrži. Na primjer, dužina niza "Hello!" je 6 jer ima 6 znakova.

3016567 5 1
3016567 5 1

Korak 2. Pozovite

dužina ()

metodu na objektu String i rezultat pohraniti u cjelobrojnu varijablu.

    int strLength = str.length ();

3016567 6 1
3016567 6 1

Korak 3. Pokušajte

Evo primjera programa koji pronalazi dužinu niza.

    javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; int strLength = str.length (); System.out.println ("Dužina \" " + str +" / "je" + strLength + "."); }}

Metoda 3 od 5: Obrnite niz

3016567 7
3016567 7

Korak 1. Shvatite šta znači obrnuti niz

Obrtanje niza znači promjenu redoslijeda znakova u nizu. Na primjer, obrnuto od niza "Hello!" je "! olleH". Postoji mnogo načina za poništavanje niza u Javi.

3016567 8 1
3016567 8 1

Korak 2. Koristite obrnuti metod klase StringBuffer

Kreirajte objekt StringBuffer koji uzima niz koji želite obrnuti kao parametar. Koristite metodu reverse () StringBuffer -a, a zatim dohvatite novo obrnuti niz pomoću metode toString ().

    javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; StringBuffer bafer = novi StringBuffer (str); String reversedStr = buffer.reverse (). ToString (); System.out.println ("Obrnuta strana niza \" " + str +" / "je \" " + reversedStr +" / "."); }}

3016567 9 1
3016567 9 1

Korak 3. Ponovite znakove u nizu obrnuto, dodajući ove znakove u StringBuffer pri svakoj iteraciji

Kreirajte novi objekt StringBuffer inicijaliziran s dužinom niza koji želite preokrenuti kao parametar. Zatim upotrijebite petlju for za ponavljanje kroz niz, počevši od posljednjeg znaka u nizu i završavajući na prvom znaku u nizu. Na svakoj iteraciji dodajte znak tog indeksa u StringBuffer. Dohvatite novo obrnuti niz pomoću metode toString ().

    javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; StringBuffer bafer = novi StringBuffer (str.length ()); for (int i = str.length ()-1; i> = 0; i--) {buffer.append (str.charAt (i)); } String reversedStr = buffer.toString (); System.out.println ("Obrnuta strana \" " + str +" / "je \" " + reversedStr +" / "."); }}

3016567 10 1
3016567 10 1

Korak 4. Napišite rekurzivnu funkciju da biste obrnuli niz

U rekurzivnoj funkciji, osnovni slučaj / uvjet je ako je niz null ili ako je duljina niza manja ili jednaka none. Inače, metoda reverse () se ponovo poziva s nizom minus prvi znak, a prvi znak se stavlja na kraj. Dakle, ako smo proslijedili niz "Hello!", Prvi poziv reverse () nakon toga će imati parametar "ello!".

    javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; String reversedStr = reverse (str); System.out.println ("Obrnuta strana \" " + str +" / "je \" " + reversedStr +" / "."); } private static String reverse (String str) {if (str == null || str.length () <= 1) return str; povratak unatrag (str.substring (1)) + str.charAt (0); }}

3016567 11 1
3016567 11 1

Korak 5. Pretvorite niz u niz znakova, a zatim zamijenite prvi i zadnji, drugi i drugi u posljednji itd

likovi. Prvo pretvorite niz u niz znakova pomoću metode toCharArray () na nizu. Dobijte indeks posljednjeg znaka u nizu, koji je jednak dužini niza minus jedan. Zatim ponovite niz, zamjenjujući ith znak i indexOfLastChar - ith znak pri svakoj iteraciji. Konačno, pretvorite niz znakova nazad u niz.

    javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; for (int i = 0; i <charArray.length/2; i ++) {char temp = charArray ; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - i] = temp; } String reversedStr = novi niz (charArray); System.out.println ("Obrnuta strana \" " + str +" / "je \" " + reversedStr +" / "."); }}

3016567 12 1
3016567 12 1

Korak 6. Pregledajte svoj ispis

Ovdje je izlaz koji proizlazi iz bilo koje od ovih metoda za preokret niza.

Metoda 4 od 5: Odrežite bijeli prostor u nizu

3016567 13
3016567 13

Korak 1. Shvatite šta znači obrezivanje bijelog prostora u nizu

Skraćivanje niza u Javi znači uklanjanje početnog i posljednjeg razmaka u nizu. Na primjer, ako imate niz"

Zdravo svijete!

"i želite da kaže" Zdravo, svijet! "bez razmaka na početku i na kraju, možete obrezati niz. Klasa String pruža metodu trim () koja vraća kopiju niza sa prvi i zadnji prazan prostor je uklonjen ili originalni niz ako nema početnog ili zadnjeg razmaka.

3016567 14 1
3016567 14 1

Korak 2. Koristite trim () metodu klase String na objektu String da biste obrezali bijeli prostor

Imajte na umu da će trim () metoda izbaciti izuzetak ako je niz null. Metod trim () neće promijeniti sadržaj izvornog niza jer su nizovi u Javi nepromjenjivi, što znači da se stanje niza ne može mijenjati nakon kreiranja. Umjesto toga, metoda trim () će vratiti novi niz čiji je razmak isječen.

    String trimmedStr = str.trim ();

Korak 3. Isprobajte primjer

Evo primjera programa koji skraćuje bijeli prostor niza:

    javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; String trimmedStr = str.trim (); System.out.println ("Originalni niz je \" " + str +" / "."); System.out.println ("Obrezani niz je \" " + trimmedStr +" / "."); }}

Metoda 5 od 5: Podijelite niz

3016567 16
3016567 16

Korak 1. Shvatite šta znači podijeliti niz

Podijeliti niz u Javi znači podijeliti niz po određenom graničniku u niz podnizova. Na primjer, ako podijelim niz "crveno, plavo, zeleno, žuto, ružičasto" sa zarezom kao graničnikom, dobio bih niz {"crveno", "plavo", "zeleno", "žuto", "ružičasto" "}. Evo tri različita načina za podjelu niza.

3016567 17 1
3016567 17 1

Korak 2. Koristite

StringTokenizer

za tokeniziranje niza.

Uvoz

java.util. StringTokenizer

. Zatim kreirajte novu instancu a

StringTokenizer

s nizom za tokeniziranje i razdjelnikom kao parametrima. Ako razdjelnik ne unesete kao parametar, graničnik će se automatski postaviti na prazan prostor. Nakon što dobijete

StringTokenizer

možete koristiti

nextToken ()

način dobijanja svakog tokena.

    import java.util. Arrays; import java.util. StringTokenizer; javna klasa StringManipulation {public static void main (String args) {String str = "crvena, zelena, plava, žuta, ružičasta"; StringTokenizer tokenizer = novi StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = novi niz [numberOfTokens]; for (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ nOriginalni niz:" + str); System.out.println ("Podijeljeni niz:" + Arrays.toString (splitArr) + "\ n"); }}

  • Prije Jave 1.4,

    StringTokenizer

    class je korišten za podjelu nizova u Javi. Ali sada, upotreba

    StringTokenizer

    je obeshrabreno i upotreba

    podijeliti()

    metoda u

    String

    klase ili korištenje

    java.util.regex

  • paket se ohrabruje.
3016567 18 1
3016567 18 1

Korak 3. Koristite

String

klase

podijeliti()

metoda.

The

podijeliti()

metoda će uzeti razdjelnik kao parametar i vratiti niz podnizova koji su isti kao tokeni iz

StringTokenizer

    import java.util. Arrays; javna klasa StringManipulation {public static void main (String args) {String str = "crvena, zelena, plava, žuta, ružičasta"; String splitArr = str.split (","); System.out.println ("\ nOriginalni niz:" + str); System.out.println ("Podijeljeni niz:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 19 1
3016567 19 1

Korak 4. Koristite regularne izraze za podjelu niza

Uvoz

java.util.regex. Pattern

. Koristiti

kompajlirati ()

metoda

Pattern

class za postavljanje graničnika, a zatim daje

podijeliti()

metod niz koji želite podijeliti. The

Pattern

vratit će niz podnizova.

    import java.util. Arrays; import java.util.regex. Pattern; javna klasa StringManipulation {public static void main (String args) {String str = "crvena, zelena, plava, žuta, ružičasta"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ nOriginalni niz:" + str); System.out.println ("Podijeljeni niz:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 20 1
3016567 20 1

Korak 5. Pregledajte svoj ispis

Ovdje je izlaz koji proizlazi iz bilo koje od ovih metoda za podjelu nizova.

Preporučuje se: