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: Ako imate iPhone, OVO MORATE ISPROBATI! 2024, Travanj
Anonim

Nizovi su nizovi znakova. Na primjer, "Zdravo!" je niz jer se sastoji od znakova 'H', 'e', 'l', 'l', 'o' i '!'. U Javi su nizovi 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: Stvorite niz

3016567 1 1
3016567 1 1

Korak 1. Izradite niz pomoću konstruktora klase String

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

3016567 2 1
3016567 2 1

Korak 2. Stvorite niz izravnim dodjeljivanjem niza

3016567 3 1
3016567 3 1

Korak 3. Isprobajte primjer

Ovdje je primjer 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 s konstruktorom!"); String str2 = "Niz kreiran bez konstruktora!"; System.out.println (str1); System.out.println (str2); }}

Metoda 2 od 5: Pronađite duljinu niza

Korak 1. Shvatite što znači pronaći duljinu niza

Duljina niza je broj znakova koji niz sadrži. Na primjer, duljina niza "Hello!" je 6 jer ima 6 znakova.

3016567 5 1
3016567 5 1

Korak 2. Pozovite

duljina ()

metodu na objektu String i rezultat pohraniti u cjelobrojnu varijablu.

    int strLength = str.length ();

3016567 6 1
3016567 6 1

Korak 3. Pokušajte

Ovdje je primjer programa koji pronalazi duljinu niza.

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

Metoda 3 od 5: Obrnite niz

3016567 7
3016567 7

Korak 1. Shvatite što znači preokrenuti niz

Obrnuti niz znači promijeniti redoslijed znakova u nizu. Na primjer, obrnuti niz "Hello!" je "! olleH". Postoji mnogo načina za poništavanje niza u Javi.

3016567 8 1
3016567 8 1

Korak 2. Upotrijebite obrnutu metodu klase StringBuffer

Napravite objekt StringBuffer koji uzima niz koji želite preokrenuti kao parametar. Upotrijebite 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 međuspremnik = 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 te znakove u StringBuffer pri svakoj iteraciji

Izradite novi objekt StringBuffer inicijaliziran s duljinom 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 s 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 međuspremnik = 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 niza \" " + str +" / "je \" " + obrnutaStr +" / "."); }}

3016567 10 1
3016567 10 1

Korak 4. Napišite rekurzivnu funkciju za poništavanje niza

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

    javna klasa StringManipulation {public static void main (String args) {String str = "Zdravo!"; String reversedStr = reverse (str); System.out.println ("Obrnuta strana niza \" " + str +" / "je \" " + reversedStr +" / "."); } private static String reverse (String str) {if (str == null || str.length () <= 1) return str; povrat 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 duljini niza minus jedan. Zatim ponovite niz, zamijenivši ith znak i indexOfLastChar - ith znak pri svakoj iteraciji. Konačno, pretvorite niz znakova natrag 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 niza \" " + 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 što 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"

Pozdrav svijete!

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

3016567 14 1
3016567 14 1

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

Imajte na umu da će trim () metoda baciti iznimku ako je niz null. Metoda 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 što se stvori. Umjesto toga, metoda trim () vratit će novi niz čiji je prazan prostor obrezan.

    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 ("Izvorni niz je \" " + str +" / "."); System.out.println ("Obrezani niz je \" " + trimmedStr +" / "."); }}

Metoda 5 od 5: Podijelite niz

3016567 16
3016567 16

Korak 1. Shvatite što znači razdvojiti 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 razdjelnikom, 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

tokenizirati niz.

Uvoz

java.util. StringTokenizer

. Zatim stvorite 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 imate

StringTokenizer

možete koristiti

nextToken ()

način dobivanja 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 korištenje

    podjela()

    metoda u

    Niz

    klase ili korištenje

    java.util.regex

  • paket se potiče.
3016567 18 1
3016567 18 1

Korak 3. Upotrijebite

Niz

klase

podjela()

metoda.

The

podjela()

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. Pomoću regularnih izraza podijelite niz

Uvoz

java.util.regex. Uzor

. Koristiti

sastaviti()

metoda

Uzorak

class za postavljanje graničnika, a zatim dajte

podjela()

metoda niz koji želite podijeliti. The

Uzorak

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 cijepanje nizova.

Preporučeni: