В качестве альтернативы вы можете попытаться сохранить все записи для графа в одной HashMap, в которой ключ является объектом, содержащим как номер узла, так и номер соседнего узла. Я предполагаю, что номер узла обычно будет индексом в массиве HashMaps, а соседний узел - ключом к текущему HashMap. Это позволит вам выполнять те же операции поиска, что и сейчас, и выполнять итерацию по всем записям без необходимости писать какой-либо специальный код.
Не забывайте, что вам нужно написать equals () и хорошую хеш-функцию для объекта, используемого в качестве ключа (этот объект в противном случае может быть очень простым). Если у вас очень большие графики, это, конечно, может не подходить.