對不起,問另一個真正明顯的問題 - 我與掙扎包含HashMap ..如何更改值的位置列表中的一個HashMap在Java中
我想要做的是改變的地方順序值存儲在存儲在散列表中的列表中,我不想使用迭代器。
例如,在學校有一個課程列表,每個課程都有一個學生列表。在那裏,大廳監控工作是隨機挑選的課程的第一名學生。選擇一門課程後,列表頂部的學生將被列入所有課程列表的底部。有9門課程,學生可以出現在多個學生名單上。
我試圖做的線沿線的東西:
//instance variable
private HashMap<String, String[]> qualifiedStudents;
qualifiedStudents = new HashMap<String, List<String>>();
public void putStudentLastInRosters(String studentName)
{
for(String course : qualifiedStudents.keySet())
{
if(qualifiedStudents.get(course).contains(studentName))
{
qualifiedStudents.remove(course, studentName);
qualifiedStudents.put(course, studentName);
}
}
}
你可以改變的String []到一個ArrayList? –
barsju
2012-04-19 13:05:41
對不起,我應該更加精確地展示它如何初始化,列表是一個ArrayList字符串 – damagedgoods 2012-04-19 13:12:17
也許我沒有得到你的問題,但也許你正在掙扎,因爲地圖中的順序是由他們的迭代器保證的。從[API文檔](http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Map.html):「地圖的*順序*被定義爲其中的地圖集合視圖上的迭代器返回它們的元素,一些地圖實現,比如TreeMap類,對它們的順序做出了特定的保證;其他的,比如HashMap類,則不這樣做。 – Fuhrmanator 2012-04-19 13:15:17