-1

ハッシュマップのlastEntryのキーに別の文字列を入れたい。

lastEntry の値を確認して変更した後、setKey または別の関数を使用して lastEntry を変更したいキーを変更できませんでした。

EditText name; // put that as the key
Map<String,Integer> Names = new HashMap<String,Integer>(10);
// .
// .
// .
name = (EditText) findViewById(R.id.namep);

lastEntry の値を確認して変更する私の関数:

boolean flagScore = false;
Entry<String, Integer> lastEntry = Names.lastEntry();
if(lastEntry.getValue() < score){
    lastEntry.setValue(score);
    flagScore = true;
}
if(flagScore){
    // put name.getText().toString as key
}
4

2 に答える 2

0

LinkedHashMapこれは、書かれた小さなプログラムを使用して実装することもできます。

public class HashMapIssue {
public static void main(String[] args) {
    Map<String,Integer> map=new LinkedHashMap<String, Integer>();
    map.put("Integer2", 1);
    map.put("Integer1", 2);
    map.put("Integer3", 3);
    map.put("Integer4", 4);
    map.put("Integer5", 5);
    System.out.println(map);

    Set  enteries = map.entrySet();
    Iterator it = enteries.iterator();
    String lastkey="";
    Entry entry;
    while(it.hasNext()){
        entry=(Entry) it.next();
        lastkey=(String) entry.getKey();
    }
map.remove(lastkey);
map.put("modifiedkey",0);   
System.out.println(map);                 
   }
}

出力は次のとおりです。

{Integer2=1, Integer1=2, Integer3=3, Integer4=4, Integer5=5}
{Integer2=1, Integer1=2, Integer3=3, Integer4=4, modifiedkey=0}
于 2015-05-26T13:32:23.887 に答える
0

Model クラスを使用ArrayListしてこれを実現できます。例えば

こんな授業を受けて

public class Demo {
  private String name; 
  private integer value;

  //create getters and setters for this variables. 
}

そして、クラスでこのような配列リストを作成します。

private ArrayList<Demo> namesList  = new ArrayList<Demo>;

モデル クラス Demo のオブジェクトを作成します。 demo = new Demo;

demo.name = "";
demo.value = 1;

ArrayList次に、このようにモデルクラスを追加しますnamesList.add(demo);

でやりたいことができるようになりましたArrayList

于 2015-04-23T22:19:20.980 に答える