9

重複の可能性:
マップ内の各エントリを反復するにはどうすればよいですか?

MAPをしていますが、Map<String, Records> map = new HashMap<String, Records> ();

public class Records 
{
    String countryName;
    long numberOfDays;

    public String getCountryName() {
        return countryName;
    }
    public void setCountryName(String countryName) {
        this.countryName = countryName;
    }
    public long getNumberOfDays() {
        return numberOfDays;
    }
    public void setNumberOfDays(long numberOfDays) {
        this.numberOfDays = numberOfDays;
    }

    public Records(long days,String cName)
    {
        numberOfDays=days;
        countryName=cName;
    }

    public Records()
    {
        this.countryName=countryName;
        this.numberOfDays=numberOfDays;
    }

マップのメソッドを実装しました。ハッシュマップに存在するすべての値にアクセスする方法を教えてください。AndroidのUIでそれらを表示する必要がありますか?

4

4 に答える 4

5

forループを使用してそれを行うことができます

Set keys = map.keySet();   // It will return you all the keys in Map in the form of the Set


for (Iterator i = keys.iterator(); i.hasNext();) 
{

      String key = (String) i.next();

      Records value = (Records) map.get(key); // Here is an Individual Record in your HashMap
}
于 2012-10-22T09:25:58.113 に答える
3

から並列にアクセスしMap#entrySetたい場合は、メソッドを使用できます: -keysvaluesHashMap

Map<String, Records> map = new HashMap<String, Records> ();

//Populate HashMap

for(Map.Entry<String, Record> entry: map.entrySet()) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
}

toStringまた、クラスのメソッドをオーバーライドして、ループで印刷するときにRecord文字列表現を取得することもできます。instancesfor-each

更新: -

Mapをアルファベット順に並べ替えたい場合は、にkey変換できます。キーでソートされたエントリが自動的に配置されます: -MapTreeMap

    Map<String, Integer> treeMap = new TreeMap<String, Integer>(map);

    for(Map.Entry<String, Integer> entry: treeMap.entrySet()) {
        System.out.println(entry.getKey() + " : " + entry.getValue());

    }

詳細な説明については、次の投稿を参照してください: - How to sort Map values by key in Java

于 2012-10-22T08:50:00.137 に答える
0

map.values()は、Collection内のすべての値を含む を提供しますHashMap

于 2012-10-22T08:49:43.350 に答える
0

データの準備ができている場合は、キーHashMapを反復処理するだけです。HashMap反復を実装して、データを 1 つずつ取得するだけです。

これを確認してください: HashMap を反復処理する

于 2012-10-22T08:49:46.900 に答える