본문 바로가기

Develop/JAVA

<JAVA> Iterator..Map의 반복

자바를 가지고 놀다가 문득 Iterator함수에 꽂혔다... 뭔가 많이 쓰일것 같다.



이렇게 했을때 결과값은???


Iterator가 뭔지에 대해서 좀더 알아봐야겠다...

참고로 hasNext()는 입력받는 데이터가 있을시에 true가 반환된다.


+


이번엔 key가 아닌 value를 구해보려 한다.


일단 위의 ms의 키를 순차적으로 받아오기 위해 keySet에 iterator를 사용하는것 같다.

그후 Iterator it에 입력받는 데이터가 있을때까지 while을 이용해 반복한다.

즉, 모든 ms.keySet의 모든 iterator를 가져오기 위해 hasNext()를 이용해 while을 한다.

다음은 next를 선언하고 Iterator it의 데이터를 반환하기위해 next()함수를 쓴다.

[String next = it.next();]

ms.containsKey는 key값이 있는지 없는지를 확인하기위해 사용한다.

key값이 있을때까지 val를 선언하여 Iterator it의 value... 즉, ms의 모든 value를 가져온다.

내가 참고하던 블로그에선 ms.get(next)앞에 (String)으로 캐스팅을 하는데...[String val = (String)ms.get(next);]

이는 혹시나 있을 데이터 타입으로 인한 오류를 미연에 방지하려고 하는것같다.



결과...



이게 내생각을 정리하기위해 쓴건데 정확한지는 모르겠다..

Iterator를 이용해 반복하는 이유는 아마 Map을 반복할 수 없기 때문인것같다.

이 글을 쓰면서 몰랐던 것들을 많이 알 수 있었다.(맞는지는 모르지만...)

한가지 궁금한것은 이것을 이용해 내가 무슨 개발을 할 수 있는지다.

공부를 하고 수업을 들으면서 의문은 그것을 이용해 무엇의 어떤 기능을 개발할 수 있는지다...