这是我第一次处理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且连续使用,强烈建议不要使用ListInteger这样的映射进行迭代。

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的大小,因此存在很多错误,但是可以避免迭代entrySetMap;)

10-07 19:23