2015-01-23 1 views
0

:안드로이드 가치를 얻을 및 포맷하는 방법 hashMapValues ​​그것은 내가 이런 내 HashMap의 값 인쇄 할 수있는 방법

문자열 hashMapValues ​​= PHOTO_IDS.get (모든 값);

hashMapValues ​​출력으로 : ID1, ID2, ID3, ID4, ID5 도움을

HashMap<String,String> PHOTO_IDS; 

onCreate.... 
PHOTO_IDS = new HashMap<String, String>(); 

if(vc.readLAST_TAKEN_PIC().equals("imageCam1")) { PHOTO_IDS.put("imageCam1", id); } 
        else if(vc.readLAST_TAKEN_PIC().equals("imageCam2")) { PHOTO_IDS.put("imageCam2", id); } 
        else if(vc.readLAST_TAKEN_PIC().equals("imageCam3")) { PHOTO_IDS.put("imageCam3", id); } 
        else if(vc.readLAST_TAKEN_PIC().equals("imageCam4")) { PHOTO_IDS.put("imageCam4", id); } 
        else if(vc.readLAST_TAKEN_PIC().equals("imageCam5")) { PHOTO_IDS.put("imageCam5", id); } 

많은 많은 감사합니다.

UPDATED_____________________________________________

는 답장을 보내 모두 감사합니다.

String hashmapValues = PHOTO_IDS.values().toString(); 
TMP_PHOTO_ID = hashmapValues.replaceAll("[\\[\\]]", ""); 
+0

당신은 스팅 연결하여 작업을 수행 할 수 있습니다 사용을 고려할 수 있습니다. –

+0

@ qɘɘbɒɿq 샘플 pls 줄 수 있겠 어. 감사합니다 – Joolah

+1

'PHOTO_IDS .values ​​()'를 사용 했습니까? –

답변

1

당신은이 같은 모든 값을 인쇄 할 entrySet()를 사용할 수 있습니다 :

UPDATE : StringBuilder

StringBuilder s = new StringBuilder(); 
for(Entry<String,String> e : PHOTO_IDS.entrySet()){ 
    s.append(e.getValue() + ", "); 
} 
String result = s.toString(); 

자세한 내용은 HashMap#entrySet() java documentation를 참조하여 여기에 작업 코드입니다.

가 다음과 같이 직접 쉼표로 구분 된 값을 얻을 수있는 또 하나의 방법입니다

String result = PHOTO_IDS.values().toString(); 

는하지만 당신은 당신이 할 수있는 그 괄호 [] 제거 할 필요가 있으므로이, [id1, id2, id3, id4, id5]로 출력을 반환합니다 쉽게 사용하여 substring

+0

당신의 재생을 주셔서 감사합니다. 각 값 사이의 쉼표로 모든 값을 String에 전달해야합니다. 어떻게 이것이 가능한지 아십니까? 다시 한번 감사드립니다. – Joolah

+0

큰 감사 친구. – Joolah

2

이 목적으로 Map.getValues()을 사용할 수 있습니다. 당신이 문자열에서 [] 문자를 relace 할 필요가 여기에

[id1, id2, id3, id4, id5] 

처럼

System.out.println(PHOTO_IDS .values()); 

같은 출력 될 것입니다.

+0

LinkedHashMap을 사용하지 않는 한 반드시 순서대로 인쇄되지 않을 것입니다 – GleasonK

+0

@ GleasonK 그래서 장면에서 주문은 어디입니까? –

0

값 목록을 대괄호로 묶지 않으려면 다음을 수행 할 수 있습니다. 하지만 당신은 순서에 대해 우려하는 경우 모든 솔루션을, 당신은 LinkedHashMap

StringBuilder sb = new StringBuilder(); 
for(String val : map.values()){ 
    sb.append(val+","); 
} 
String result = sb.toString(); 
System.out.println(result.substring(0, result.length() - 1)); //This will remove the last comma. 
관련 문제