28 Ağustos 2020 Cuma

StringBuilder Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.lang.StringBuilder;
Açıklaması şöyle
StringBuilder is not thread-safe and an instance can be shared across multiple threads
Bu sınıfın kardeşi olan StringBuffer sınıfı thread safe'tir.

constructor
Şöyle yaparız.
StringBuilder sb = new StringBuilder ();
constructor - CharSequence
Metodun içi şöyle.
public StringBuilder(String str) {
  super(str.length() + 16);
   append(str);
}
constructor - String
Metodun içi şöyle.
public StringBuilder(String str) {
  super(str.length() + 16);
  append(str);
}
Örnek
Şöyle yaparız.
String str = "...";

StringBuilder sb = new StringBuilder (str);
append metodu - CharSequence
Örnek
Java 8 Stream'leri ile şöyle kullanılır.
StringBuilder sb = 
    p.stream()
     .filter( p -> p.lastName.equals("kent"))
     .map(p -> p.lastName)
     .collect(StringBuilder::new,
              StringBuilder::append,
              StringBuilder::append);
Örnek
Şöyle yaparız
StringBuilder sb =list.stream().parallel()
  .collect(
    StringBuilder::new, 
    StringBuilder::append, 
    StringBuilder::append
  )
);
appendCodePoint metodu - int
Şöyle yaparız. String.chars() int dizisi döndürür.
public static String removeDuplicateLetters(String s) {
    return s.chars().sorted().distinct().collect(
        StringBuilder::new,
        StringBuilder::appendCodePoint,
        StringBuilder::append
    ).toString();
}
capacity metodu
Şöyle yaparız
StringBuilder sb = new StringBuilder();
System.out.println(sb.capacity());
ensureCapacity metodu
Açıklaması şöyle
Ensures that the capacity is at least equal to the specified minimum. If the current capacity is less than the argument, then a new internal array is allocated with greater capacity. The new capacity is the larger of:
  • The minimumCapacity argument.
  • Twice the old capacity, plus 2.
If the minimumCapacity argument is nonpositive, this method takes no action and simply returns.
equals metodu
Bu sınıf equals metodunu override etmez. Şu kod false döner.
StringBuilder sb1 = new StringBuilder("string");
StringBuilder sb2 = new StringBuilder("string");

System.out.println(sb1.equals(sb2));
indexOf metodu
Şöyle yaparız.
int index = sb.indexOf ("kent");
length metodu
Şöyle yaparız
StringBuilder sb = new StringBuilder();
System.out.println(sb.length());
repeat metodu
Java 21 ile geliyor. İmzası şöyle
StringBuilder repeat(CharSequence cs,
                    int count)
StringBuilder repeat(int codePoint,
                     int count)
Örnek
Şöyle yaparız
var santaBuilder = new StringBuilder();
santaBuilder.repeat("Ho! ", 3);

var str = santaBuilder.toString()
// => "Ho! Ho! Ho! "
replace metodu
Şöyle yaparız.
int index = ...;
sb.replace (index, index + 2, ":");
reverse metodu
Şöyle yaparız.
StringBuilder reversedSb = sb.reverse ();
toString metodu
Metodun içi şöyle.
public String toString() {
  // Create a copy, don't share the array
  return new String(value, 0, count);
}
Şöyle yaparız.
String str = sb.toString()


Hiç yorum yok:

Yorum Gönder