Android에서 HashMap 검색을 시도했지만 문제가 발생합니다.
이 예를 고려하십시오.
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");
이제 그것을 반복하고 각 색상의 값을 얻고 “토스트”에 표시하고 싶습니다. 어떻게 표시합니까?
답변
Iterator myVeryOwnIterator = meMap.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
String key=(String)myVeryOwnIterator.next();
String value=(String)meMap.get(key);
Toast.makeText(ctx, "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show();
}
답변
다음은 Map
사용법 을 보여주는 간단한 예입니다 .
Map<String, String> map = new HashMap<String, String>();
map.put("Color1","Red");
map.put("Color2","Blue");
map.put("Color3","Green");
map.put("Color4","White");
System.out.println(map);
// {Color4=White, Color3=Green, Color1=Red, Color2=Blue}
System.out.println(map.get("Color2")); // Blue
System.out.println(map.keySet());
// [Color4, Color3, Color1, Color2]
for (Map.Entry<String,String> entry : map.entrySet()) {
System.out.printf("%s -> %s%n", entry.getKey(), entry.getValue());
}
// Color4 -> White
// Color3 -> Green
// Color1 -> Red
// Color2 -> Blue
항목은 임의의 순서로 반복됩니다. 특정 주문이 필요한 경우 다음을 고려할 수 있습니다.LinkedHashMap
또한보십시오
- 효과적인 Java 2nd Edition, 항목 52 : 인터페이스로 객체 참조
- 자바 튜토리얼 / 컬렉션 – 인터페이스
Map
- 자바 언어 가이드 / for-each 루프
관련 질문
항목 반복시 :
- 지도 반복
- 반복 및지도에서 제거
- 반복하는 동안지도를 수정하려면 해당
Iterator
.
- 반복하는 동안지도를 수정하려면 해당
다른 Map
특성 :
의 위에 enum
대신 enum
및 사용을 고려할 수 있습니다 .EnumMap
Map<String,String>
또한보십시오
관련 질문
답변
이것은 경고없이!
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");
for (Object o : meMap.keySet()) {
Toast.makeText(getBaseContext(), meMap.get(o.toString()),
Toast.LENGTH_SHORT).show();
}
답변
HashMap<String, String> meMap = new HashMap<String, String>();
meMap.put("Color1", "Red");
meMap.put("Color2", "Blue");
meMap.put("Color3", "Green");
meMap.put("Color4", "White");
Iterator myVeryOwnIterator = meMap.values().iterator();
while(myVeryOwnIterator.hasNext()) {
Toast.makeText(getBaseContext(), myVeryOwnIterator.next(), Toast.LENGTH_SHORT).show();
}
답변
for (Object key : meMap.keySet()) {
String value=(String)meMap.get(key);
Toast.makeText(ctx, "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show();
}
답변
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");
Iterator iterator = meMap.keySet().iterator();
while( iterator. hasNext() ){
Toast.makeText(getBaseContext(), meMap.get(iterator.next().toString()),
Toast.LENGTH_SHORT).show();
}
답변
나를 위해이 일 :
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");
Iterator iterator = meMap.keySet().iterator();
while( iterator. hasNext() )
{
Toast.makeText(getBaseContext(), meMap.get(iterator.next().toString()),
Toast.LENGTH_SHORT).show();
}