Solved

Ok to delete element from HashMap while iterating?

Posted on 2009-07-13
3
625 Views
Last Modified: 2012-05-07
Hi,

Is it legal to remove an element from a HashMap while iterating over it? Something like:

  HashMap<Integer, String> test = new HashMap<Integer, String();
  test.put(0, "a");
  test.put(1, "b");
  test.put(2, "c");

  for(Entry<Integer, String> entry : test.entrySet()){
      if (entry.getValue().equals("b")) {
          test.remove(entry.getKey());
      }
      // Ok to keep iterating?
  }

Thanks
0
Comment
Question by:DJ_AM_Juicebox
  • 2
3 Comments
 
LVL 92

Expert Comment

by:objects
ID: 24846020
you can but you need to use an Iterator and its remove() method'
How you are doing it will not work
0
 

Author Comment

by:DJ_AM_Juicebox
ID: 24846051
Ok but what do you mean with an iterator and a remove method?

Thanks
0
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 24846063
Iterator i = test.keySet().iterator();
while (i.hasNext()) {
     Integer key = i.next();
     String value = test.get(key);
     if (value.equals("b")) {
        i.remove();
    }
}
0

Featured Post

ScreenConnect 6.0 Free Trial

Want empowering updates? You're in the right place! Discover new features in ScreenConnect 6.0, based on partner feedback, to keep you business operating smoothly and optimally (the way it should be). Explore all of the extras and enhancements for yourself!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to get all the API from website? 11 92
print map entry 34 69
Unhandled exception type Exception 18 31
How to convert from xls to xlsx using java 7 41
Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question