2015-09-03 2 views
0

У меня есть список записей для выбора из dropdown, таких как A, B, C, D, E и т. Д. Итак, я использовал карту деревьев для отображения того же я отсортировал заказ. Но в последней записи я хочу добавить значение «Добавить новую запись», которое будет использоваться для создания новой опции. Если пользователь выбирает «Добавить новую запись», появляется новое текстовое поле и может быть сделана новая запись.Как вставить запись в последнюю позицию TreeMap

Теперь проблема в том, что я хочу, чтобы в раскрывающемся списке появилась опция «Добавить новую запись» в качестве последнего параметра. Но по мере сортировки treemap значение в выпадающем списке отображается как A, Добавить новую запись, B, C, D, E и т. Д. Как добавить «Добавить новую запись» в значение последней опции в Java.

Просьба предложить.

+0

(Я сомневаюсь, что вы решаете эту проблему лучше всего, делегируя сортировку в TreeMap, но в любом случае ...) Вам просто нужно создать пользовательский компаратор, который сортирует «Добавить новую запись» после чего-либо еще. – aioobe

+0

Какие технологии вы используете для пользовательского интерфейса? – SpringLearner

+0

Вам действительно нужна эта статическая запись «Добавить новую запись» в ваш набор записей. Вы можете добавить этот текст как постоянное текстовое значение в раскрывающееся меню, таким образом, вы сохраните любую дополнительную операцию, которая потребует пользовательского компаратора. –

ответ

1

Самое простое решение - не добавлять "Add a new record" в TreeMap.

Добавьте это значение в ваш виджет после того, как добавленные в виджет Treemap элементы, используемые в пользовательском интерфейсе.

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, который выполняет итерацию над своими записями в порядке ввода; просто вставьте записи в том порядке, в котором вы хотите.

Смежные вопросы