while(/\G(\b\w*\b)/g) {
print "$1\n";
}
\G привязка. жарко .
Если вам нужны элементы в определенном порядке, LinkedHashMap - ваш друг - он хранит элементы в порядке вставки. TreeMap будет хранить ваши элементы в порядке, определенном либо указанным вами Comparator, либо методом compareTo ключа.
Для упорядоченной карты см. LinkedHashMap
. Это сохранит ваши ключи в порядке вставки.
Если вы используете SortedMap
, он сохранит ключи в отсортированном порядке. ( TreeMap
является наиболее распространенной реализацией.)
Вы можете использовать map.entrySet ()
. Это позволит вам перебирать набор MapEntries.
Подробнее читайте в javadoc .
, вы можете использовать метод Map.values ()
, который возвращает Коллекция
.
Это дает вам коллекцию сохраненных значений
myMap.values()
Попробуйте следующее:
for (Image img : myMap.values()) {
// the image is img
}
Для сортировки карты посмотрите реализации java.util.SortedMap
. java.util.TreeMap
- наиболее частый выбор. Если вам нужен только гарантированный порядок итераций, вы можете попробовать java.util.LinkedHashMap
. Он предлагает итерацию в том же порядке, в котором вы размещаете элементы на карте. Или, необязательно, в порядке последнего доступа. Если вы хотите переместить ключ (однажды добавленный) в конец карты, вы должны явно удалить его и поставить снова.
вы можете использовать TreeMap , он сортируется в соответствии с естественным порядком его ключей или компаратором, предоставленным во время создания карты:
TreeMap<String, Image> mapByName = new TreeMap<String, Image>(new ByNameComparator());
где ByNameComparator () - это компаратор. В качестве альтернативы вы можете использовать метод values () и сортировать с помощью Collections.sort ():
Collection<Image> images = mapByName.values();
Collections.sort(images, new BySizeComparator());
У вас уже есть несколько практических ответов. Но отвечая прямо на вопрос ...
Я бродил, есть ли там класс, реализующий интерфейсы Map и List в Java.
... стоит упомянуть, что это просто невозможно. Препятствием является метод remove (Object)
.
В интерфейсе Map
его подпись:
V remove(Object key);
А в интерфейсе List
это:
boolean remove(Object o);