U Javi spajanje nizova tvori novi niz koji je kombinacija više nizova. Postoje dva načina za ulančavanje nizova u Javi:
- By + (String concatenation) operator
- Metodom concat().
1) Spajanje nizova pomoću operatora + (Spajanje nizova).
Java Operator spajanja nizova (+) koristi se za dodavanje nizova. Na primjer:
tablica rimskih brojeva 1 100
TestStringConcatenation1.java
class TestStringConcatenation1{ public static void main(String args[]){ String s='Sachin'+' Tendulkar'; System.out.println(s);//Sachin Tendulkar } }Testirajte sada
Izlaz:
Sachin Tendulkar
The Transformacije Java prevoditelja gornji kod za ovo:
String s=(new StringBuilder()).append('Sachin').append(' Tendulkar).toString();
U Javi je spajanje nizova implementirano kroz klasu StringBuilder (ili StringBuffer) i njezinu metodu dodavanja. Operator ulančavanja niza stvara novi niz dodavanjem drugog operanda na kraj prvog operanda. Operator ulančavanja niza može ulančati ne samo nizove već i primitivne vrijednosti. Na primjer:
TestStringConcatenation2.java
class TestStringConcatenation2{ public static void main(String args[]){ String s=50+30+'Sachin'+40+40; System.out.println(s);//80Sachin4040 } }Testirajte sada
Izlaz:
80Sachin4040
Napomena: Nakon literala niza, svi + će se tretirati kao operatori spajanja nizova.
2) Spajanje nizova metodom concat().
Metoda String concat() spaja navedeni niz na kraj trenutnog niza. Sintaksa:
public String concat(String another)
Pogledajmo primjer metode String concat().
TestStringConcatenation3.java
class TestStringConcatenation3{ public static void main(String args[]){ String s1='Sachin '; String s2='Tendulkar'; String s3=s1.concat(s2); System.out.println(s3);//Sachin Tendulkar } }Testirajte sada
Izlaz:
Sachin Tendulkar
Gornji Java program spaja dva String objekta s1 i s2 korištenjem concat() metodu i pohranjuje rezultat u s3 objekt.
arp - naredba
Postoje neki drugi mogući načini za ulančavanje nizova u Javi,
1. Ulančavanje nizova pomoću klase StringBuilder
StringBuilder je klasa koja pruža metodu append() za izvođenje operacije ulančavanja. Metoda append() prihvaća argumente različitih tipova kao što su Objects, StringBuilder, int, char, CharSequence, boolean, float, double. StringBuilder je najpopularniji i najbrži način spajanja nizova u Javi. To je promjenjiva klasa što znači da se vrijednosti pohranjene u StringBuilder objektima mogu ažurirati ili mijenjati.
StrBuilder.java
public class StrBuilder { /* Driver Code */ public static void main(String args[]) { StringBuilder s1 = new StringBuilder('Hello'); //String 1 StringBuilder s2 = new StringBuilder(' World'); //String 2 StringBuilder s = s1.append(s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } }
Izlaz:
Hello World
U gornjem isječku koda, s1, s2 i s deklariraju se kao objekti StringBuilder razreda. s pohranjuje rezultat ulančavanja s1 i s2 korištenjem dodati () metoda.
2. Ulančavanje nizova korištenjem metode format().
Metoda String.format() omogućuje ulančavanje višestrukih nizova koristeći specifikator formata kao što je %s iza kojeg slijede vrijednosti niza ili objekti.
StrFormat.java
public class StrFormat { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.format('%s%s',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } }
Izlaz:
Hello World
Ovdje su String objekti s dodijeljen je spojeni rezultat nizova s1 i s2 korištenjem String.format() metoda. format() prihvaća parametre kao specifikator formata iza kojih slijede String objekti ili vrijednosti.
3. Spajanje nizova korištenjem metode String.join() (Java verzija 8+)
Metoda String.join() dostupna je u Javi verziji 8 i svim gore navedenim verzijama. Metoda String.join() prvo prihvaća argumente separator i niz String objekata.
StrJoin.java:
public class StrJoin { /* Driver Code */ public static void main(String args[]) { String s1 = new String('Hello'); //String 1 String s2 = new String(' World'); //String 2 String s = String.join('',s1,s2); //String 3 to store the result System.out.println(s.toString()); //Displays result } }
Izlaz:
Hello World
U gornjem isječku koda, objekt String s pohranjuje rezultat String.join('',s1,s2) metoda. Razdjelnik je naveden unutar navodnika iza kojeg slijede String objekti ili niz String objekata.
što java
4. Ulančavanje nizova pomoću klase StringJoiner (Java verzija 8+)
Klasa StringJoiner ima sve funkcionalnosti metode String.join(). Unaprijed njegov konstruktor također može prihvatiti neobavezne argumente, prefiks i sufiks.
StrJoiner.java
public class StrJoiner { /* Driver Code */ public static void main(String args[]) { StringJoiner s = new StringJoiner(', '); //StringeJoiner object s.add('Hello'); //String 1 s.add('World'); //String 2 System.out.println(s.toString()); //Displays result } }
Izlaz:
Hello, World
U gornjem isječku koda, objekt StringJoiner s je deklariran i konstruktor StringJoiner() prihvaća vrijednost separatora. Razdjelnik je naveden unutar navodnika. Metoda add() dodaje nizove proslijeđene kao argumente.
5. Ulančavanje nizova pomoću metode Collectors.joining() (Java (Java verzija 8+)
Klasa Collectors u Javi 8 nudi metodu joining() koja ulančava ulazne elemente sličnim redoslijedom kako se pojavljuju.
Spajanje stupaca.java
import java.util.*; import java.util.stream.Collectors; public class ColJoining { /* Driver Code */ public static void main(String args[]) { List liststr = Arrays.asList('abc', 'pqr', 'xyz'); //List of String array String str = liststr.stream().collect(Collectors.joining(', ')); //performs joining operation System.out.println(str.toString()); //Displays result } }
Izlaz:
abc, pqr, xyz
Ovdje se deklarira popis niza nizova. I String objekt str pohranjuje rezultat Collectors.joining() metoda.