Java不会使用try块中的Entry迭代Treemap

时间:2014-11-12 01:37:43

标签: java loops hashmap treemap

解决方案:重启我的电脑解决了这个问题。显然Eclipse正在与两者混淆:

import java.util.Map;
import java.util.Map.Entry;

进口是:

import java.awt.Color;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;

import javax.activation.DataHandler;
import javax.swing.JOptionPane;
import javax.swing.JProgressBar;
import javax.swing.JTextArea;
import dms.model.DATA_FOR_ALL;
import dms.model.ReportProblemFile;
import dms.model.ReportUserActions;
import dms.model.SendEmail;
import dms.view.MainFrameWithListeners;

我的地图是:

private TreeMap<Integer,StoreProblem> local_copy_of_store_problems_map = new TreeMap<Integer,StoreProblem>();

我想了解为什么我的代码会迭代这个:(大小为79)

    for (Map.Entry<Integer, StoreProblem> entry : this.local_copy_of_store_problems_map.entrySet()) 
    {
         System.out.println("Key: " + entry.getKey() + ". Value: " + entry.getValue());
    }

但不是这样:(大小为79)

        for(Entry<Integer, StoreProblem> queue : this.local_copy_of_store_problems_map.entrySet()){
               System.out.println("Key: " + queue.getKey() + ". Value: " + queue.getValue());
     }

事实上,它只打印出键0 ......

这里有什么区别? :

for (Map.Entry<Integer, StoreProblem> entry : 

for(Entry<Integer, StoreProblem> queue : 

2 个答案:

答案 0 :(得分:1)

确保正确地从java.util.Map导入Entry:

import java.util.Map.Entry;

答案 1 :(得分:0)

解决方案:重启我的电脑解决了这个问题。显然Eclipse正在与两者混淆:

import java.util.Map;
import java.util.Map.Entry;