
indexOf
&
lastIndexOf
indexOf
IndexOf와 lastIndexOf 모두 String클래스에 포함된 메서드로써 특정 문자가 어떤 문자열에서 몇번째 위치에 자리잡고 있는지를 Integer 타입으로 반환시켜준다.
문자열.indexOf(특정문자)로 사용하며, 사용법이 매우 간단하니 바로 예시를 들어 설명하겠다.
public class Test {
public static void main(String[] args) {
String str = "Hello Java!!";
System.out.println(str.indexOf("J"));
System.out.println(str.indexOf("l"));
System.out.println(str.indexOf("l", 3));
}
}
출력
6
2
3
출력 결과만 봐도 해당 메서드의 기능을 직관적으로 알 수 있을 수도 있다.
Hello Java!! 에서 J의 위치는 공백을 포함하여 6번째에 자리잡고있다.
참고로 Index는 0부터 시작이다.
만약 해당 문자가 문자열에 없다면 -1을 리턴한다.
또한, indexOf() 안에 문자 뒤에 숫자가 보일것이다.
해당 코드에서 str.indexOf("l", 3)의 경우는 문자 l을 index 3번째 자리부터탐색한다는 것이다.
때문에 Hello에서 3번째 자리에 있는 l이 출력된 것이다.
lastIndexOf
문자열에서 특정 문자를 찾아주는 역할은 indexOf와 동일하다.
다만, lastIndexOf는 특정 문자열을 뒤에서부터 찾아준다.
사용법은 마찬가지로 문자열.IndexOf(특정문자) 이다.
바로 코드를 예시로 보겠다.
public class Test {
public static void main(String[] args) {
String str = "Hello Java!!";
System.out.println(str.indexOf("l"));
System.out.println(str.lastIndexOf("l"));
System.out.println(str.lastIndexOf("l", 2));
}
}
출력
2
3
2
indexOf에서는 2번째에 있는 문자 "l"을 찾아주었다.
그리고 lastIndexOf는 뒤에서 부터 탐색한다고 말했었다.
따라서 3번째에 있는 Hello의 또다른 "l"의 자리를 찾아주었다.
마찬가지로, lastIndexOf 속 문자 뒤에 fromIndex 자리에 숫자를 입력할 수 있으며, 오른쪽부터 탐색하되 해당 Index부터 찾는다는 뜻이다.
위 코드에서는 Index 2부터 0까지 탐색한다는 뜻이다.
indexOf와 lastIndexOf의 사용법 및 예시를 알아보았다.
'자바' 카테고리의 다른 글
[자바] equals와 equalsIgnoreCase, contentEquals 개념과 예시 (0) | 2022.06.28 |
---|---|
[자바] 공백 제거하기 (trim & replaceAll) (0) | 2022.06.26 |
[자바] toCharArray() 메서드를 이용해서 문자열을 뽑아보자 (0) | 2022.06.26 |
[자바] 트라이(Trie) 개념과 삽입/검색/삭제 구현까지 (0) | 2022.06.25 |
[자바] Comparable 인터페이스로 값 정렬하기 (0) | 2022.06.25 |