TIL

20221101 TIL 코테에 대비하자 2

jiwoosmile 2022. 11. 1. 18:12


Collection 외에도 정말 자주 쓰이는 String에서 유용한 메서드들을 모아보자.

  • String.charAt(int index)
  • String.concat(String string)
  • String.contains(Charsequence charsequence)
  • String.endsWith(String suffix)
  • String.equals(Object object)
  • String.equalsIgnoreCase(String string)
  • String.indexOf(int char)
    • char와 일치하는 첫번째 index를 반환한다.
  • String.indexOf(int char, int fromIndex)
    • 문자열에서 char와 일치하는 fromIndex이후 첫 index를 반환한다.
  • String.indexOf(String string)
  • String.indexOf(String string, int fromIndex)
  • String.lastIndexOf(int char)
  • String.lastIndexOf(int char, int fromIndex)
  • String.lastIndexOf(String string)
  • String.lastIndexOf(String string, int fromIndex)
  • String.length()
  • String.matches(String regex)
  • String.replace(char oldChar, char newChar)
    • oldChar와 일치하는 부분을 모두 newChar로 바꾼다.
  • String.replace(CharSequence target, CharSequence replacement)
    • target과 일치하는 부분을 모두 replacement로 바꾼다.
  • String.replaceAll(String regex, String replacement)
    • regex정규식에 해당하는 부분을 모두 replacement로 바꾼다.
  • String.replaceFirst(String regex, String replacement)
    • regex정규식에 해당하는 첫 부분을 replacement로 바꾼다.
  • String.split(String regex)
  • String.split(String regex, int limit)
    • limit이 양수라면 split을 limit - 1번 수행하고, limit - 1이 만약 최대로 split할 수 있는 횟수 이상이라면 String.split(String regex)와 동일한 결과가 도출된다.
    • limit이 음수라면 String.split(String regex)와 동일한 결과가 도출된다.
    • limit이 0이라면 String.split(String regex)결과에서 trailing empty strings는 삭제된다.
    • "boo:and:foo"에 대해 아래와 같은 결과가 도출된다.
    •  
  • String.startsWith(String prefix)
  • String.startsWith(String prefix, int index)
  • String.substring(int beginIndex)
  • String.substring(int beginIndex, int endIndex)
  • String.toCharArray()
  • String.toLowerCase()
  • String.toUpperCase()
  • String.trim()
    • leading and trailing whitespace가 없어진다.


String은 생성되면 내용을 바꿀 수 없다.
따라서 String끼리 concatenation을 많이 수행하면 성능이 안 좋아지기 때문에 StringBuilder를 사용하는 것이 좋다.

StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("문자열1");
stringBuilder.append("문자열2");
...
String string = stringBuilder.toString();

StringBuilder에서 쓸 수 있는 메서드들도 알아보자.

  • StringBuilder.append(String string)
  • StringBuilder.charAt(int index)
  • StringBuilder.delete(int start, int end)
  • StringBuilder.deleteCharAt(int index)
  • StringBuilder.indexOf(String string)
  • StringBuilder.indexOf(String string, int fromIndex)
  • StringBuilder.insert(int offset, String string)
  • StringBuilder.lastIndexOf(String string)
  • StringBuilder.lastIndexOf(String string, int fromIndex)
  • StringBuilder.length()
  • StringBuilder.replace(int start, int end, String string)
  • StringBuilder.reverse()
  • StringBuilder.setCharAt(int index, char character)
  • StringBuilder.substring(int start)
  • StringBuilder.substring(int start, int end)
  • StringBuilder.toString()


메서드들을 적절히 사용해서 코딩 문제들을 효율적이고 빠르게 풀어보자!