Search code examples
javaloopshashmaptreemap

Java would not Iterate Treemap using Entry inside try block


Solution: Restarting my PC fixed the problem. Apparently Eclipse was getting confused with both:

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

Imports are:

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;

My Map is:

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

I want to understand why my code will iterate through this: (size is 79)

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

But NOT this:(size is 79)

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

In fact, it only printed out key 0...

What is the difference here? :

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

for(Entry<Integer, StoreProblem> queue : 

Solution

  • Solution: Restarting my PC fixed the problem. Apparently Eclipse was getting confused with both:

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