循环嵌套,否则在TreeMap逻辑中

时间:2015-06-26 11:01:02

标签: java loops if-statement treemap

我将值放在TreeMap中,如下所示:

  if (hdr.getName().equalsIgnoreCase("Ip4")) {
     map.put(1, f);
 } else if (hdr.getName().equalsIgnoreCase("ethernet")) {
     map.put(2, f);
 } else if (hdr.getName().equalsIgnoreCase("tcp")) {
     map.put(3, f);
 } else
 if (hdr.getName().equalsIgnoreCase("udp")) {
     map.put(4, f);
 }

我试图使用以下方法检索它:

Iterator < Map.Entry < Integer, Field >> entries = map2.entrySet().iterator();
while (entries.hasNext()) {

    Map.Entry < Integer, Field > entry = entries.next();

    if ((entry.getKey() == 1)) {

    stringBuilder.append(entry.getValue().getSource());
    stringBuilder.append(",");
    stringBuilder.append(entry.getValue().getDestination());
    } else if ((entry.getKey() == 2)) {

    stringBuilder.append(entry.getValue().getSource());
    stringBuilder.append(",");
    stringBuilder.append(entry.getValue().getDestination());
    } else if ((entry.getKey() == 3)) {

    stringBuilder.append(entry.getValue().getSource());
    stringBuilder.append(",");
    stringBuilder.append(entry.getValue().getDestination());
    } else if ((entry.getKey() == 4)) {

    stringBuilder.append(entry.getValue().getSource());
    stringBuilder.append(",");
    stringBuilder.append(entry.getValue().getDestination());
    }

}

现在,我想要的输出是如果找不到任何键,它应该放在其他部分(我没有包含在这里,因为我没有得到所需的输出)并且它应该追加

               stringBuilder.append(,,);

例如

        If key 1 contains 12,13
        If key 2 is not present ,,
        If key 3 contains 10,11
        If key 4 contains 14,15

所以希望的出局应该是

       12,13,,10,11,14,15

请帮助我解决逻辑问题,因为我正在打破这个问题。

由于

1 个答案:

答案 0 :(得分:0)

感谢大卫提示,我用

解决了这个问题
    for (int i=1 ; i<=map2.size()+1; i++){
        if(map2.containsKey(i))
        {
            //appendString(map2.get(i));    

            stringBuilder.append(map2.get(i).getSource());
            stringBuilder.append(",");
            stringBuilder.append(map2.get(i).getDestination());

        }
        else{
            stringBuilder.append(",,");
        }

    }