HashMap
遍历从大的方向来说,可分为以下 4
类
Iterator
方式遍历ForEach
方式遍历Lambda
表达式遍历Streams API
遍历但每种类型下又有不同的实现方式,因此具体的遍历方式又可以分为以下 6
种:
Iterator EntrySet
的方式进行遍历Iterator KeySet
的方式进行遍历For Each EntrySet
的方式进行遍历For Each KeySet
的方式进行遍历Lambda
表达式的方式进行遍历Streams API
的方式进行遍历接下来我们来看每种遍历方式的具体实现代码
HashMap
的遍历方式EntrySet
public class HashMapOneTest {
public static void main(String[] args) {
Map<Integer, String> hashMap = new HashMap<>();
hashMap.put(1, "Java");
hashMap.put(2, "JDK");
hashMap.put(3, "Spring Framework");
hashMap.put(4, "MyBatis framework");
hashMap.put(5, "Java中文社群");
Iterator<Map.Entry<Integer, String>> iterator = hashMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<Integer, String> entry = iterator.next();
System.out.println("Key的值为:" + entry.getKey());
System.out.println("value的值为:" + entry.getValue());
}
}
}
结果如下
KeySet
public class HashMapTwoTest {
public static void main(String[] args) {
Map<Integer, String> hashMap = new HashMap<>();
hashMap.put(1, "Java");
hashMap.put(2, "JDK");
hashMap.put(3, "Spring Framework");
hashMap.put(4, "MyBatis framework");
hashMap.put(5, "Java中文社群");
Iterator<Integer> iterator = hashMap.keySet().iterator();
while (iterator.hasNext()) {
Integer key = iterator.next();
System.out.println("Key的值为:"+ key);
System.out.println("value的值为:"+ hashMap.get(key));
}
}
}
结果如下
ForEach EntrySet
public class HashMapThreeTest {
public static void main(String[] args) {
Map<Integer, String> hashMap = new HashMap<>();
hashMap.put(1, "Java")