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()
메서드들을 적절히 사용해서 코딩 문제들을 효율적이고 빠르게 풀어보자!