2011-11-24 3 views
0

Java Map 데이터 유형으로 작업하기 시작했습니다. 모든 키 - 값 쌍을 테이블로 인쇄하는 쉬운 방법이 있는지 궁금합니다.Java Map의 엔트리를 테이블로 효율적으로 출력하는 방법은 무엇입니까?

예를 들어 문자열에있는 문자의 빈도를 계산하여지도에 저장한다고 가정 해 보겠습니다.

그래서 문자열

Character Frequencies 
--------------------- 
' '  5 
'l'  2 
't'  3 
'h'  2 

다음 콘솔에 인쇄 결과 "스트림 끝까지"요법 나는 돌아갑니다지도에 있으며, toString() 발견 한 것과

어느 것이 좋지만 toString 구조에서 큰 테이블을 만들면 속도가 느려질 것입니다. String 오퍼레이션 이외의 다른 작업을 수행 할 수있는 좀 더 빠르고 깨끗한 방법이 있습니까?

+0

표가 무엇을 의미합니까? 'JTable'을 말하는 겁니까? – Behrang

+0

당신은 "효율적", "쉬운", "깨끗한"및 "빠른"방법을 요청했습니다. 어느 쪽이 원하는거야? –

+0

모든 항목을 반복하여 하나씩 인쇄 할 수 있습니다. 미리 적절한 열 폭을 알면 문제가 될 수 있습니다. – Thilo

답변

3

지도 키 - 값 쌍을 가정하면 String 유형의 정수이다, 당신은 사용하여지도를 통해 반복 할 수 물론

for (Map.Entry<String, Integer> entry : theMap.entrySet()) { 
    entry.getKey(); // gives you the 'Character' key 
    entry.getValue(); // gives you the 'Frequencies' value 
} 

, 당신은 꽤 인쇄를 수행해야합니다.

+0

감사합니다. 맵을 반복하는 확실한 방법을 찾지 못했습니다. –

+1

사용 된 맵 구현에 따라 항목이 특히 의미있는 순서가 아닐 수도 있습니다. – Thilo

+1

수정하십시오. 질문에 'treemap'태그가 붙어 있기 때문에 'TreeMap'을 사용하고 있다고 가정했습니다. – ryanprayogo