Bir dizideki öğeleri bir dizeyle birleştirme

Biraz kafam karıştı. Cevabı hiçbir yerde bulamadım ;(

Bir String dizim var:

String[] arr = ["1", "2", "3"];

sonra bunu bir dizeye dönüştürüyorum:

String str = Arrays.toString(arr);
System.out.println(str);

Ben "123" dizesini almayı bekliyordum, ancak bunun yerine "[1,2,3]" dizesini aldım.

Bunu java'da nasıl yapabilirim? Eclipse IDE kullanıyorum

Çözüm

Örnek kod

String[] strArr = {"1", "2", "3"};
StringBuilder strBuilder = new StringBuilder();
for (int i = 0; i < strArr.length; i++) {
   strBuilder.append(strArr[i]);
}
String newString = strBuilder.toString();

İşte bunun string birleştirme kullanmaktan daha iyi bir çözüm olmasının nedeni: 2 dizeyi birleştirdiğinizde, yeni bir dize nesnesi oluşturulur ve karakter karakter kopyalama gerçekleştirilir.
Etkili bir şekilde, kod karmaşıklığının dizinizin boyutunun karesi kadar olacağı anlamına gelir!

(1+2+3+... n her yineleme başına kopyalanan karakter sayısıdır). Bu durumda StringBuilder 'dizeye kopyalama' işlemini yalnızca bir kez yaparak karmaşıklığı O(n) değerine indirir.

Yorumlar (5)
Arrays.toString(arr);

çıktısı [1,2,3]'tür ve siz bunu dizenize depolarsınız. ve yazdırırsınız, böylece [1,2,3] çıktısını alırsınız.

Eğer 123 çıktısı almak istiyorsanız bunu deneyin:

public static void main(String[] args) {
    String[] arr= {"1","2","3"};
    String output ="";
    for(String str: arr)
        output=output+str;
    System.out.println(output);

}

Çıktı:

123
Yorumlar (2)

Basit bir cevap:

Arrays.toString(arr);

Yorumlar (2)