2015-09-03 30 views
0

我有一個可以從A,B,C,D,我排序的順序。但在最後一個條目中,我想要一個'添加新記錄'選項值,將用於創建一個新選項。如果用戶選擇「添加新記錄」,則會出現一個新的文本框並可以創建新條目。如何在TreeMap的最後一個位置插入一個條目

現在的問題是我想要選項'添加新記錄'作爲下拉菜單中的最後一個選項。但是,隨着樹圖排序,下拉列表中的值顯示爲A,添加新記錄,B,C,D,E等。 如何將'Add New Record'添加到Java中的最後一個選項值。

請建議。

+0

(我懷疑你最好通過將排序委託給TreeMap來解決這個問題,但無論如何......)你只需創建一個自定義比較器,在其他任何事情之後對「添加新記錄」進行排序。 – aioobe

+0

您使用哪種技術用於UI? – SpringLearner

+0

你真的需要在記錄集中添加這個靜態條目「添加新記錄」。您可以將此文本作爲常量文本值添加到最終的下拉列表中,這樣您將保存任何額外的操作,這將需要自定義比較器 –

回答

1

最簡單的解決方法是不要將"Add a new record"添加到TreeMap中。

在將Treemap項添加到小部件之後,將該值添加到您的小部件中,這是您在UI中使用的技術。

1

如果你在java中這樣做,(因爲你已經把java標籤)。你可以使用ArrayList。它維護元素的插入順序。

public class ListExample { 
    public static void main(String[] args) { 
    List<String> myList = new ArrayList<String>(); 
    myList.add("one"); 
    myList.add("two"); 
    myList.add("three"); 
    myList.add("four"); 
    myList.add("five"); 

    for (String string : myList) { 
     System.out.println(string); 
    } 
    } 
} 

輸出:

one 
two 
three 
four 
five 
1

不要使用TreeMap

使用LinkedHashMap,它按照插入順序遍歷其條目;只需按所需順序插入條目即可。

相關問題