这是我第一次处理HashMap
,我正试图制作一个简单的循环来遍历每个键,但是代码甚至都没有输入for-loop
...有人可以帮我吗?
for(int i=0; i< ackPkts.size()-1; i++){
System.out.println("yasmin");
if (ackPkts.get(i).getAckNo() == ackPkts.get(i-1).getAckNo()){
System.out.println("there's a retransmissionS here");
}else{
v = value.indexOf(ackPkts.get(i).getAckNo() -1);
}
}
它甚至不打印yasmin!
最佳答案
即使键是Array
且连续使用,强烈建议不要使用List
或Integer
这样的映射进行迭代。
for(int i=0; i< ackPkts.size()-1; i++){ // WRONG!
要迭代映射的每个条目,请使用
entrySet()
方法:for (Map.Entry<Integer, String> entry : map.entrySet())
{
System.out.println(entry.getKey() + "/" + entry.getValue());
}
另外,正如在其他答案中指出的那样,由于您使用了
-1
的大小,因此存在很多错误,但是可以避免迭代entrySet
的Map
;)