Java in several ways to traverse the Map

First, initialize a global map

public static Map<String, String> map = new HashMap<String, String>() {
    private static final long serialVersionUID = 1L;
        {
            put("name", "test");
            put("gender", "man");
            put("country", "China");
        }
}
@BeforeClass
public void initMap() {
    System.out.println(map);    // {country=China, gender=man, name=test}
}
@AfterClass
public void clearMap() {
    map.clear();
    System.out.println(map);    // {}
}

Traversal keySet

@Test
public readKeys() {
    System.out.println(map.keySet());   // [country, gender, name]
    for(String key : map.keySet()) {
        System.out.println(key + ":" + map.get(key));   
        // country:China
        // gender:man
        // name:test
    }
}

Traversal values

@Test
public readValues() {
    System.out.println(map.values());   // [China, man, test]
    for(String val : map.values()) {
        System.out.println(val);
        // China
        // man
        // test
    }
}

Traversal entrySet (iterator traversal)

Iterator traversal advantages: can not delete operation can only be achieved with foreach traversal, use Iterator can remove elements by remove method

@Test
public readEntrys() {
    System.out.println(map.entrySet());   // [country=China, gender=man, name=test]
    Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
    while(it.hasNext()) {
        Map.Entry<String, String> entry = it.next();
        System.out.println(entry.getKey() + ":" + entry.getValue());
        // country:China
        // gender:man
        // name:test
        
        //it.remove();
    }
}

forEach binding Lambda (required java8 above) traversal key, value

@Test
public readLambda() {
    map.forEach((key, value) -> {
        System.out.println(key + ":" + value);
        // country:China
        // gender:man
        // name:test
    });
}

Operational recommendations

  • Or simply get key value, recommended keySe / values
  • Obtain entry is recommended entrySet
  • Traverse process to remove elements recommended Iterator
  • Traversal added elements, the elements can create a new temporary map storage, and other traversal is completed, then put a temporary map in the original map

Guess you like

Origin www.cnblogs.com/apimhnkj/p/11684698.html