Как считать каждый элемент массивчика по порядку

Версия Minecraft
1.7.10
1,417
44
594
День добрый.
Имею некоторый массивчик типа HashMap<String, ItemStack>, который хранит в себе список предметов. Назовем его MassItem.
При его вызове, он выдает все доступные предметы.
public static HashMap<String, ItemStack> MassItem = new HashMap<String, ItemStack>();
Подскажите, пожалуйста, как вызывать определенный элемент по порядковому номеру, в for.
 

Eifel

Модератор
1,623
78
608
Мапы это не массивчик, в hashmap`e элементы насколько я помню можно доставать по ключу, а не по порядковому номеру. И порядок вывода элементов в ней будет отличаться от того, в котором они были занесены. Заюзай ArrayList и не парься
 

CumingSoon

Местный стендапер
1,634
12
269
А, так тебе индекс нужен? Ты, конечно, можешь достать множество entry, добавить в список, но не гарантирую, что все будет по порядку.
HashMap - это не массив пар. Он куда сложнее, он гибридный. И работает либо как дерево, либо по-другому. В общем, надо в код смотреть
Попробуй тогда:
Java:
Set<Map.Entry<String, ItemStack>> set = map.entrySet();
ArrayList list = new ArrayList(set);
//либо new ArrayList(); list.addAll(set);, если не работает 1 вариант
 
1,417
44
594
Мапы это не массивчик, в hashmap`e элементы насколько я помню можно доставать по ключу, а не по порядковому номеру. И порядок вывода элементов в ней будет отличаться от того, в котором они были занесены. Заюзай ArrayList и не парься
Ок, понял.

Мне нужно достать все данные типа ItemStack, ну и вызывать их по 1.

Можно заюзать LinkedHashMap. Тогда все должно быть в том порядке, в котором оно добавлялось в мапу
Примерчик можно?
 

Eifel

Модератор
1,623
78
608
1,417
44
594
Сверху