在循环java中保存相同键哈希映射的多个值

时间:2014-11-08 22:39:47

标签: java loops hashmap

我需要在java中的HashMap中为一个相同的键添加一个单独的值,而不仅仅是一次。但是在循环中或者当我需要输入这些值时。例如,如果key为1,那么该值的值可能是3,5,7,8

    count=0;
    while (true) {

        Packet info = captor.getPacket();

    if (info != null)   

        if(info instanceof TCPPacket){       /////         TCP

            TCPPacket tc= (TCPPacket) info;

         }

        if(info instanceof UDPPacket){    ////              UDP

            UDPPacket ud= (UDPPacket) info;

        }   

我正在保存每个数据包的数据包编号。我需要保存每个IP地址的数据包数量,将IP地址作为密钥

1 个答案:

答案 0 :(得分:1)

基本上有两种方式:

(假设您的密钥是String类型,而您的值是Object类型)

  1. 而不是HashMap<String, Object>使用HashMap<String, Collection<Object>>

  2. 使用来自commons集合或番石榴的MultiMap<String, Object>。 (链接:http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Multimap.html