[JAVA]

승 아·2023년 3월 17일

String에서 문자열이 동일한지 비교하는 equals와 ==의 차이점

  • equals는 대상의 내용 자체를 비교
  • ==는 주소값을 비교

charAt()

  • 해당 문자의 아스키코드 값을 반환->정수 형태로 변경하려면 -48 또는 -'0'을 해주어야 함

BufferReader

  • Scanner와 유사하지만, 입력된 데이터가 바로 전달되지 않고 버퍼에 저장되어있다가 전달되므로 데이터 처리 효율성을 높여 속도가 빠름
  • String형으로만 반환하므로 별도로 데이터 처리 해줘야함

import java.util.;
import java.io.
;
public class Main{ //readLine()을 사용하기 위해 예외처리
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine(); // 한 줄씩 String으로 받아옴
int i = integer.valueOf(br.readLine()); // int형으로 사용하기 위해 형변환
}
}

  • Read한 데이터는 Line단위로 나눠지므로 공백단위로 데이터를 처리해야함

    • StringTokenizer

      StringTokenizer st = new StringTokenizer(s);
      int a = Integer.parseInt(st.nextToken());
      int b = Integer.parseInt(st.nextToken());
      String array[] = s.split(" "); //공백마다 데이터 끊어서 배열에 넣음

      readLine()을 통해 입력받은 값을 공백단위로 구분하여 순서대로 호출

StringBuilder

  • 출력하고 싶은 문자열을 Builder에 쌓아둔 후 쌓아둔 문자열을 한 번에 출력

StringBuilder sb = new StringBuilder();
sb.append("seunga")
System.out.println(sb);

스택은 바로 생성할 수 있지만, 큐는 바로 생성할 수 없는 이유

  • 스택은 클래스로 구현되기 때문에 바로 생성
  • 큐는 인터페이스로 추상화되어 있기 때문에 LinkedList클래스 등 클래스를 통해 구현

POP()

  • 가장 나중에 추가된 데이터를 스택에서 삭제하고 삭제한 데이터를 리턴
profile
개발 공부를 기록하는 공간

0개의 댓글