Java-очередь и многомерный массив - PullRequest
1 голос
/ 10 мая 2010

Прежде всего, это мой код (только начал изучать Java):

Queue<String> qe = new LinkedList<String>();

qe.add("b");
qe.add("a");
qe.add("c");
qe.add("d");
qe.add("e");

Мой вопрос:

  1. Можно ли добавить элемент в очередь с двумя значениями, например:

    qe.add ( "а", "1"); // где 1 - целое число

Итак, я знаю, что элемент "a" имеет значение 1. Если я хочу добавить число, скажем "2", к элементу a, я получу как a => 3.

Если это невозможно, что еще в классах Java, которые могут это обработать? Я пытался использовать многомерный массив, но его довольно сложно сделать в очереди, например, pop, push и т. Д. (Возможно, я ошибаюсь)

  1. Как вызвать конкретный элемент в очереди? Мол, вызвать элемент a, чтобы проверить его значение.

[Примечание] * * тысяча двадцать-один

Пожалуйста, не давайте мне ссылки, которые просят меня читать документы Java. Я читал, и до сих пор не понимаю. Причина, по которой я спрашиваю здесь, заключается в том, что я знаю, что могу найти ответ быстрее и проще.

Ответы [ 3 ]

2 голосов
/ 10 мая 2010

Вы хотите объединить Queue<K> с Map<K,V>:

  • Вставьте ключи (например, "a", "b") в Queue<K>
  • Назначьте отображение клавиш на значения (например, "a"=>3) в Map<K,V>
1 голос
/ 10 мая 2010

Я думаю вы запрашиваете тип словаря в Java.

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("a", 1);
map.put("b", 2);

Затем вы можете получить к ним доступ по ключу - в этом случае строка, выбранная вами в качестве ключа.

int value = map.get("a");

Значение в этом случае вернет 1.

Это то, что вы хотите?

1 голос
/ 10 мая 2010

Вы хотите использовать HashMap вместо LinkedList. HashMap - это словарная структура, которая позволяет создавать ассоциации, например a => 1.

Проверьте JavaDocs для HashMap, чтобы понять, как его использовать: -).

...