Android-HashMap에서 값 가져 오기


79

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");

이제 그것을 반복하고 각 색상의 값을 얻고 "토스트"에 표시하고 싶습니다. 어떻게 표시합니까?



3
이미 안드로이드 SDK를 보았다 나중에 @clamp
Paresh Mayani

1
keySet()설명뿐만 아니라 와 같은 사용 가능한 메서드도 읽어야 할 것 입니다.
Pentium10

Pentium10 망가 @ 너무 이론에 의해 어떻게 도움과 지원을 위해 BTW 고맙습니다 .... 알고 올 수 있습니다 .... HashMap에 대해 아무것도 알
Paresh Mayani

SDK에는 가지고있는 메서드에 대한 설명이 포함되어 있으므로 요청하기 전에 HashMap에서 실행할 수있는 메서드의 종류를 확인하고 확인해야합니다.
Pentium10

답변:


107
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();
}

6
반복 순서는 정의되어 있지 않습니다. 세트가 추가 된 것과 동일한 순서를 원하면 LinkedHashMap
Key

위 코드는 "key"..에서만 반복되지만 "Value"에 대해서는 반복되지 않습니다. 예를 들어 "color1", "color2"... 등 만 표시합니다. 대신 등, "빨강" "파랑"의
Paresh Mayani

키에 대한 해시 맵을 요청하면 얻을 수 있으며 코드를 업데이트했습니다.
Pentium10

LinkedHashMap을 추가하여 동일한 순서로 반환하는 방법, 도와주세요.
Jorny

85

다음은 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

또한보십시오

관련 질문

항목 반복시 :

다른 Map특성 :


의 위에 enum

대신 enum및 사용을 고려할 수 있습니다 .EnumMapMap<String,String>

또한보십시오

관련 질문


import java.util. *; 추가해야합니다
Durai Amuthan.H에게

당신은 단지 값을 원하는 경우,이 대답은 분명 더 이해할 수
E.Akio

7

이것은 경고없이!

    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();
    }

5
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();
}

3
for (Object key : meMap.keySet()) {
        String value=(String)meMap.get(key);
        Toast.makeText(ctx, "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show();
    }

2
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();
}

2

나를 위해이 일 :

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();
}

1
 Iterator iterator = meMap.keySet().iterator();
                while(iterator.hasNext() ){
                  //get key
                    String key=(String)iterator.next();
                    //toast value
                                           Toast.makeText(getBaseContext(),""+(String)meMap.get(key),Toast.LENGTH_SHORT).show();

                }

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.