Я хочу повторити через хешмап. Я знаю, що можу легко використовувати entrySet. Але проблема в тому, що я хочу отримати доступ до двох елементів одразу.
приклад:
HasHMap<Integer,Point> myMap = new HashMap<Integer,Point>();
//I add some points to the map where integer is the id of that point
Я хочу мати доступ до двох елементів одночасно, щоб я міг використати метод Graphics drawLine.
Я не впевнений, чи є спосіб.
ПРИМІТКА: Я використовую хешмап, тому що легко знайти будь-яку крапку за її ідентифікатором, оскільки моя карта має багатокутники зі списку ідентифікаторів.
Відповіді:
0 для відповіді № 1Просто мати окрему змінну Map.Entry, яку ви встановите всередині циклу. Тоді ви можете використовувати drawTo за допомогою цієї змінної та змінної циклу.
Map.Entry<?, ?> oldValue = null;
for(Map.Entry<?, ?> newValue : values) {
if (oldValue != null) {
doSomethingWithBoth(oldValue, newValue);
}
oldValue = newValue;
}
Я не знаю, які саме змінні ви використовуєте, таким чином? .... Ви повинні поставити тип, який ви використовуєте там.