11111401
In Java, map based on the underlying data structure, there are many different implementations, such as hash HashMap, linked list linkedmap, hash list linkedhashmap, tree table (binary tree) TreeMap and so on.
This article discusses several different ways of traversing the most commonly used hashmap hash lists in our programming, as well as the comparison between the methods of writing and efficiency.
First, prepare a map hash table and store 100,000 records.
Key is starting from Key0 to key99999
Value starts from Hello0 to hello99999
[Java]View PlainCopy
- Public static void Main (string[] args) {
- map<string,object> map=New hashmap<string,object> ();
- For (int i=0;i<100000;i++) {
- Map.put ("key" +i, "Hello" +i);
- }
- }
Traversal mode one: EntrySet () + Enhanced for loop
[Java]View PlainCopy
- MAP Traversal mode one//2425.7
- static void Iterator_type1 (map<string,object> Map) {
- Set<map.entry<string, object>> set= map.entryset ();
- long start=new Date (). GetTime ();
- for (map.entry<string, object> item:set) {
- String Key=item.getkey ();
- Object Value=item.getvalue ();
- System.out.println ("key:" +key+ "" +"value:" +value);
- }
- long end=new Date (). GetTime ();
- SYSTEM.OUT.PRINTLN ("Traversal time is:" + (End-start) +"millisecond");
- }
Traverse mode two: EntrySet () +iterator Iteration
[Java]View PlainCopy
- MAP Traversal Mode II 2408.9
- static void Iterator_type2 (map<string,object> Map) {
- Set<map.entry<string, object>> set= map.entryset ();
- Iterator<map.entry<string, object>> it= set.iterator ();
- long start=new Date (). GetTime ();
- While (It.hasnext ()) {
- Map.entry<string, object> item= it.next ();
- String Key=item.getkey ();
- Object Value=item.getvalue ();
- System.out.println ("key:" +key+ "" +"value:" +value);
- }
- long end=new Date (). GetTime ();
- SYSTEM.OUT.PRINTLN ("Traversal time is:" + (End-start) +"millisecond");
- }
Traverse mode three: KeySet () + iterator iteration
[Java]View PlainCopy
- MAP Traversal mode three 2441.0
- static void Iterator_type3 (map<string,object> Map) {
- Set<string> keys= Map.keyset ();
- Iterator<string> it= keys.iterator ();
- long start=new Date (). GetTime ();
- While (It.hasnext ()) {
- String Key=it.next ();
- Object Value=map.get (key);
- System.out.println ("key:" +key+ "" +"value:" +value);
- }
- long end=new Date (). GetTime ();
- SYSTEM.OUT.PRINTLN ("Traversal time is:" + (End-start) +"millisecond");
- }
Traverse mode four: KeySet () + Enhanced for loop
[Java]View PlainCopy
- MAP Traversal mode four 2445.5
- static void Iterator_type4 (map<string,object> Map) {
- Set<string> keys= Map.keyset ();
- long start=new Date (). GetTime ();
- For (String key:keys) {
- Object Value=map.get (key);
- System.out.println ("key:" +key+ "" +"value:" +value);
- }
- long end=new Date (). GetTime ();
- SYSTEM.OUT.PRINTLN ("Traversal time is:" + (End-start) +"millisecond");
- }
4 ways to traverse a map object in Java