indexOf()
- indexOf(String str)
- indexOf(int ch)
- indexOf(int ch, int fromIndex)
- indexOf(String str, int fromIndex)
indexOf() 는 특정 문자나 문자열이 앞에서부터 처음 발견되는 인덱스(위치)를 반환하며
만약 찾지 못했을 경우 "-1"을 반환한다
ex)
String a = "hello world";
sysout(a.indexOf("o")) //4
sysout(a.indexOf("o " , 5)) //7
sysout(a.indexOf("l")) //2
//배열은 0부터 시작
//공백도 하나한 위치를 잡고 있다
lastIndexOf()
- lastIndexOf(String str)
- lastIndexOf(int ch)
- lastIndexOf(int ch, int fromIndex)
- lastIndexOf(String str, int fromIndex)
lastindexOf() 는 특정 문자나 문자열이 뒤에서부터 처음 발견되는 인덱스를 반환하며
만약 찾지 못했을 경우 "-1"을 반환합니다.
ex)
String a = "hello world";
sysout(a.lastindexOf("o")) //7
sysout(a.lastindexOf("w")) //6
sysout(a.lastindexOf("o',5)) //4
뭔가 이상하지 않은가?
그렇다. lastindexOf는 뒤에서 앞으로 찾기 시작하는데 찾은 후
뒤에서부터 몇번째 위치하는지 세는게 (오른쪽 -왼쪽) 아니라 앞에서 몇번째에 위치하는지 (왼쪽 -오른쪽) 를 반환한다.
위의 예제를 직접 작성해보면 이해가 빠를 것이다.
뒤에서 앞(오-왼)으로 특정 문자를 찾고 (뒤에서 앞으로 스캔) 찾은 문자의 위치를 앞(왼-오)에서부터 센다.
한마디로 인덱스 위치를 세는 순서는 indexOf와 같고 스캔방향만 반대라서 검색되는 순서가 다를뿐이다.
'JAVA > 자바' 카테고리의 다른 글
Java 입력 받은 값을 배열에 저장 (0) | 2021.12.11 |
---|---|
extends 와 implements의 차이 - 상속 (0) | 2021.08.13 |
Iterator와 map의 반복문 (0) | 2021.08.06 |
isEmpty와 ==null - 객체가 비어있는지 확인하는 방법 (2) | 2021.08.06 |
getter,setter를 사용하는 이유와 객체의 부품화 (in VO,DTO) (0) | 2021.07.29 |