Я использовал следующий способ присоединиться наборы, созданные в априорно присоединиться шагДвойной итерация через Hash Карта в Java
Iterator<Entry<List<Integer>, Integer>> i1 = hm.entrySet().iterator() ;
Iterator<Entry<List<Integer>, Integer>> i2 = hm.entrySet().iterator() ;
while(i1.hasNext()) {
while(i2.hasNext()) {
Entry<List<Integer>, Integer> pair1 = i1.next() ;
Entry<List<Integer>, Integer> pair2 = i2.next() ;
// Do some joining part here
System.out.println(pair1.getKey());
System.out.println(pair2.getKey());
}
}
}
На самом деле, я думал, что он будет перебирать все п * п значений хэша карта. Но происходит то, что оба итератора выполняются параллельно и выполняются только в n раз, как если бы оба итератора были одинаковыми. Пожалуйста, предложите способ преодолеть эту проблему.
И вы можете покончить с явным Итератором и использовать цикл 'for' в' entrySet'. – Thilo
@Thilo Это правда. – Eran