-
(JAVA)hasNext() vs next() 메서드 차이점?Java & Kotlin 2020. 5. 18. 20:37반응형
정의
Iterator 인터페이스의 메서드로 자주 사용됩니다. Iterator에 추가적인 요소가 있을 때 가져오는 역할을 하는데요.
단순히 영어만 보면 조금 헷갈립니다. hasNext는 "뭔가 다음에 있으면 가져오는 것 같고", next는? "이것도 다음에 있으면 가져오는 것 아니야?"라고 생각할 수 있습니다.
다른 점
결정적으로 다른 점은 반환 타입 입니다.
hasNext()는 boolean 타입으로 반환됩니다. 즉 "True or False"로 반환됩니다. 다음에 가져올 값이 있으면 True, 없으면 False입니다.
하지만 next()는 "매개변수 혹은 iterator 되는 타입"으로 반환됩니다. 즉 아무 타입으로 반환할 수 있습니다. Iterator에 입력된 값들이 String이면 String 값으로 가져오는 것입니다.
만약에 1,2,3,4,5 라는 숫자들이 저장되어 있는 배열을 Iterator 인터페이스로 가지고 올 때. hasNext()는 "True or False"를 나타내겠지만, next()는 "숫자 값"들을 가지고 옵니다.
결론
hasNext()
- boolean 타입 반환
- True or False
next()
- iterator의 다음 요소 값 반환
- 즉 아무 타입 가능
반응형'Java & Kotlin' 카테고리의 다른 글
(Java)Math.max vs 삼항연산자 (0) 2021.01.30 [Java]2차원 배열이란? (0) 2020.09.02 Firefox Java Coding Style (0) 2020.06.13 [Java]초기화란? (330) 2020.05.30 [Java]Static 메서드란? 사용하는 이유 (0) 2020.04.18