2013-06-14 2 views
-2

올바른 출력을 얻지 못하는 것을 제외하고는 문자열 키와 문자 배열을 가진 간단한 해시 맵을 출력하려고합니다.문자 배열로 해시 맵 출력하기

출력은 기본적으로 간다 : 나는 추측

Key :3 Value :[[email protected] 
Key :2 Value :[[email protected] 
Key :1 Value :[[email protected] 

가 코드 문자 배열 실제 위치인가? 나는 솔직히 말해서 이것이 무엇을 의미하는지 또는 그것이 무엇인지 불확실하기 때문에 나는 구글을 사용하지 않았다. 누군가가이 문제를 해결하는 방법이나 정보를 찾을 수있는 위치를 알려주어 제 자신의 해결책을 찾을 수있게하십시오. 참조 형식이 될 동안

public class MapExample { 

public static void main(String[] args) { 

    Map<String, char[]> mp = new HashMap<String, char[]>(); 

    char[] words = new char[3]; 
    words[0] = 'a'; 
    words[1] = 'b'; 
    words[2] = 'c'; 

    mp.put("1", words); 
    mp.put("2", words); 
    mp.put("3", words); 

    Set s = mp.entrySet(); 
    Iterator it = s.iterator(); 

    while (it.hasNext()) { 
     Map.Entry m = (Map.Entry) it.next(); 
     String key = (String) m.getKey(); 
     char[] value = (char[]) m.getValue(); 

     System.out.println("Key :" + key + " Value :" + value); 
    } 
} 
} 
+0

이미 – fge

+1

사용'에서 System.out.println ... 당신의 이전 질문에서 당신이에 대한 솔루션을 말했다 ;' – Reimeus

+1

'Arrays.toString (value);을 사용하십시오. –

답변

1

배열 때문에 그들이 할 수없는 스스로에 대한 텍스트 표현을 제공하는 toString() 메소드를 오버라이드 (override)하지 않는, Object 슈퍼 클래스 자바 기지에서 상속하지 않습니다, 다음은 내 코드입니다.

배열을 문자열로 반환하는 함수를 쉽게 작성하거나 java.util.Arrays 클래스 toString() 메서드를 사용할 수 있습니다. 당신의 값이 문자 (char[])의 배열 인

private String charArrayToString(char[] chars) { 
    return null; 
} 
+0

이것은 효과가 있습니다. 감사. – David

0

때문에 :

import java.util.Arrays; 
System.out.println("Key :" + key + " Value :" + Arrays.toString(value)); 

그것은 그러나 자신 만의 방법을 쓸 수있는 더 좋은 연습이 될 수있는, 내가 서명로 시작하는 당신에게 머리를 줄 것이다. 전화 할 때

System.out.println(... + value); 

toString() 전화 걸기 방법을 호출합니다. 그것은 객체 디스크립터와 같은 것을 출력한다. 유일한 해결책은 value 배열을 가져 와서 반복하고 문자열을 만드는 것입니다. 또는 Arrays.toString(value)으로 전화하십시오.

0

Java의 배열은 Object의 toString()을 재정의하지 않으므로 @ 뒤에 해시 코드가 오는 16 진수가옵니다.

Arrays 클래스는 이와 같은 작업을 수행하는 데 편리한 메소드를 제공합니다. Arrays.toString()은 배열을 인쇄하는 적절한 메소드이고, 다차원 배열을 사용하는 경우 Arrays.deepToString()을 사용할 수 있습니다. (: + 키 + "값 :"+ 새로운 String (값) "키")

http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html