Java String 클래스에 관하여

고승우·2023년 2월 20일
0
post-thumbnail

String 선언

String a = "Happy Java";
String b = "a";

String b = new String("a");
String c = new String("123");

주요 메소드

  • put(Object key, Object value): 데이터 추가
  • get(Object Key): 전달된 키에 대응하는 값을 반환. 없다면 boolean이 아닌 null을 반환한다.
  • equals(String s): 문자열이 동일한지 비교
  • indexOf(String s): 특정 문자열이 시작되는 위치(인덱스) 리턴
  • contains(String s): 특정 문자열이 포함되어 있는지 여부 리턴
  • charAt(int idx): 문자열에서 특정 위치의 문자(char) 리턴
  • replaceAll(String s1, String s2): 특정 문자열을 다른 문자열로 바꿀 때 사용
  • substring(int start): start부터 특정 부분을 뽑아냄
  • substring(int start, int end): start부터 end까지 특정 부분을 뽑아냄
  • toUpperCase(): 모두 대문자
  • split(String regex): regex를 기준으로 문자열을 쪼개 배열 반환(regex를 유지하고 싶다면 StringBuilder를 활용)
  • String.format(String s, ~) : string format
  • %s: 문자열(String)
  • %c: 문자 1개(character)
  • %d: 정수(Integer)
  • %f: 부동소수(floating-point)
  • %o: 8진수
  • %x: 16진수
  • %%: Literal % (문자 % 자체)

String의 비교

String 객체를 정렬하거나 우선순위 큐에 넣기 위해서는 String의 비교를 명시해야할 때가 있다. ArrayList에 String 객체와 String 배열을 넣고 비교하는 상황을 가정하자. 더 자세한 내용은 ArrayList의 정렬을 정리한 글에서 볼 수 있다.
List 정렬 velog

   public static void main(String[] args) {

        ArrayList<String> StringList = new ArrayList<>();
        ArrayList<String[]> StringArrayList = new ArrayList<>();

        StringList.sort(Comparator.naturalOrder());
        StringList.sort(Comparator.reverseOrder());
        
        // 람다함수를 활용하는 경우 CharSequence를 고려
        StringArrayList.sort((a, b) -> CharSequence.compare(a[0], b[0]));
    }
profile
٩( ᐛ )و 

0개의 댓글