Java 在迭代hashmap时执行循环展开
我正在研究一种展开循环的可能性,该循环是为了迭代散列映射中的元素而编写的Java 在迭代hashmap时执行循环展开,java,loops,dictionary,iterator,hashmap,Java,Loops,Dictionary,Iterator,Hashmap,我正在研究一种展开循环的可能性,该循环是为了迭代散列映射中的元素而编写的 for (final Object key : map.keySet()) { if (input_map.containsKey(key)) { System.out.println("Matching key: " + key); if (map.get(key).equals(input_map.get(key))) { Sy
for (final Object key : map.keySet())
{
if (input_map.containsKey(key))
{
System.out.println("Matching key: " + key);
if (map.get(key).equals(input_map.get(key)))
{
System.out.println("hii!done");
}
else
{
System.out.println(key);
final String values =
key.
toString().
substring(key.toString().lastIndexOf("\\") + 1);
System.out.println("input_map" +
input_map.get(key));
System.out.println("map" + map.get(key));
}
}
}
说明:
目前,循环中的比较是基于一次一个元素进行的,即“key”。我正在寻找一种可能性,在一次迭代中检索下一个连续的key,即(key,key+1,key+2)
任何建议都会非常有用 使用
键集
或入口集
迭代器()
方法和,同时使用hasNext()和next()循环。您需要处理没有3个重复元素的情况。然后您有3个键,应该能够轻松访问映射中的值
Iterator<Integer> it = myMap.keySet().iterator();
while(it.hasNext())
{
int first = it.next();
int second = it.next();
int third = it.next();
}
Iterator it=myMap.keySet().Iterator();
while(it.hasNext())
{
int first=it.next();
int second=it.next();
int third=it.next();
}
为什么?比较10个单独的键所需的工作量与每次比较2个键乘以5所需的工作量相同。代码格式错误,请进行更新。但是,使用此代码您究竟想实现什么?给我们一个这样做有意义的示例场景?@MartinHenriksen我试图通过在一个循环中执行多个加载来减少计算时间,但是如果一次执行3个或1个,您仍然需要执行n个计算和n个get()调用,其中n是映射中的元素。