728x90

 

StringBuffer클래스 : 문자열을 동적으로 처리
생성자
StringBuffer() : 디폴트 생성자
StringBuffer(int size) :  size를 기본크기로 지정
StringBuffer(String str) : str 초기문자열 지정

메서드
StringBuffer append(booleab b) : 현재 문자열 끝에 b를 추가
StringBuffer append(char ch) : 현재문자열 끝에 ch를 추가
StringBuffer append(int i) : 현재 문자열 끝에 i 를 추가
StringBuffer append(long l) : 현재문자열 끝에 l 를 추가
StringBuffer append(float f) :현재문자열 끝에 f 를 추가
StringBuffer append(double d) :현재문자열 끝에 d 를 추가
StringBuffer append(String str) :현재문자열 끝에 str문자열을 추가
StringBuffer append(Object obj) : 현재문자열 끝에 obj 를 추가

int capacity() : 현재 문자열의 버퍼크기를 반환

char charAt(int index) :  index 위치에 해당 문자열을 반환

StringBuffer insert(int i ,boolean b) : i번 인덱스 앞에 b를 추가
StringBuffer insert(int i,char ch); i번 인덱스 앞에 ch 를 추가
StringBuffer insert(int i, int j) : i번 인덱스 앞에 j를 추가
StringBuffer insert(int i, long l) :i번 인덱스 앞에 l 를 추가
StringBuffer insert(int i, String str) :i번 인덱스 앞에 str 문자열을 추가
StringBuffer insert(int i,Object obj) : i번 인덱스 앞에 obj를 추가

int length() : 문자의 개수를 반환

StringBuffer reverse() : 문자열을 역순으로 변환해 준다
void setCharAt(int i, char ch) : i번째 문자를 ch로 바꾼다
void setLength(int len) : 버퍼크기를 len 크기로 재설정 


class StringBufferTest
{
 public static void main( String [] args )
 {
  StringBuffer sb1 = new StringBuffer("Java");
  StringBuffer sb2 = new StringBuffer(10); // capacity를 10 으로
  StringBuffer sb3 = new StringBuffer();// default 생성자
  // capacity는 기본이 16으로 잡힌다.
  
  
  System.out.println(sb1.length());
  System.out.println(sb1.capacity());
  System.out.println();
  System.out.println(sb2.length());
  System.out.println(sb2.capacity());
  System.out.println();
  System.out.println(sb3.length());
  System.out.println(sb3.capacity());
 }// end main

}



class StringBufferTest_2
{
 public static void main( String [] args )
 {
  StringBuffer sb = new StringBuffer();
  sb.append("Hello ");
  sb.append("Good ");
  System.out.println("스트링 버퍼 클래스 값 :"+ sb.toString());
  
  sb.reverse();
  System.out.println(sb.toString());
  
  sb.reverse();
  sb.delete(0,5);
  System.out.println(sb.toString());
  
  System.out.println(sb.length());
  System.out.println(sb.capacity());
  
  sb.append("very ");
  sb.append("nice ");
  sb.append("Oh my god ");
  sb.append("see you tomorrow");
  System.out.println(sb.capacity());
 }// end main
}


class StringBufferTest_3
{
 public static void main( String [] args )
 {
  StringBuffer sb  = new StringBuffer("java");
  sb.append(" program");
  
  for(int i = 0 ; i<sb.length(); i++)
  {
   System.out.print("\n"+sb.charAt(i));
  }
  
  sb.insert(4,"★"); //입력위치에 값이 있으면 뒤로 밀어내고 입력.
  System.out.println("\n"+sb);
  
  System.out.println(sb.length());
  sb.setLength(5);                     //문자열 길이 다시 설정
  System.out.println(sb.length());
  System.out.println(sb.toString());
 }// end main
}

/*
String 과 StringBuffer 연산 시간 차이 구하는 예제
 */

class StringBufferTest_4
{
 public static void main( String [] args )
 {
  long start, end;
  String str1 = new String("1 ~ 5000까지 합을 연산하기 ");
  start = System.currentTimeMillis(); // 시작시간 구하기
  for(int i = 1; i<=5000 ; i++)
  {
   str1+=i;
   str1+="+";
  }
  end = System.currentTimeMillis(); //연산 종료 시간
  System.out.println("연산시간: " + (end - start));
  
  
  StringBuffer sb = new StringBuffer("1~5000까지 연산 시간");
  start = System.currentTimeMillis();
  
  
  for(int i = 1; i<=5000; i++)
  {
   sb.append(i);
   sb.append("+");
   
  }
  end = System.currentTimeMillis(); //연산 종료 시간
  System.out.println("StringBuffer 연산시간: " + (end - start));
  
 }// end main
}

+ Recent posts