HashMap 遍历hashMap的7种方法和删除数据两种方式

遍历数据

1.使用Iterator 遍历HashMap EntrySet
2.使用Iterator 遍历HashMap KeySet
3.使用For-each EntrySet 循环迭代 HashMap
4.使用For-each KeySet 循环迭代 HashMap
5.使用Lambda 表达式遍历HashMap
6.使用Stream API 遍历HashMap
7.使用Stream API 遍历HashMap

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;


public class IterateHashMapExample {
    
    public static void main(String[] args) {

        Map<Integer, String> coursesMap = new HashMap<Integer, String>();
        coursesMap.put(1, "C");
        coursesMap.put(2, "C++");
        coursesMap.put(3, "Java");
        coursesMap.put(4, "Python");
        coursesMap.put(5, "SQL");

        // 1. 使用 Iterator 遍历 HashMap EntrySet
        Iterator<Entry<Integer, String>> iterator = coursesMap.entrySet().iterator();
        while (iterator.hasNext()) {
            Entry<Integer, String> entry = iterator.next();
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        }


        // 2. 使用 Iterator 遍历 HashMap KeySet
        Iterator<Integer> iterator2 = coursesMap.keySet().iterator();
        while (iterator2.hasNext()) {
            Integer key = iterator2.next();
            System.out.println(key);
            System.out.println(coursesMap.get(key));
        }


        // 3. 使用 For-each 循环遍历 HashMap
        for (Map.Entry<Integer, String> entry : coursesMap.entrySet()) {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        }

        // 4. 使用 For-each 循环遍历 HashMap
        for (Integer key : coursesMap.keySet()) {
            System.out.println(key);
            System.out.println(coursesMap.get(key));
        }


        // 5. 使用 Lambda 表达式遍历 HashMap
        coursesMap.forEach((key, value) -> {
            System.out.println(key);
            System.out.println(value);
        });


        // 6. 使用 Stream API 遍历 HashMap
        coursesMap.entrySet().stream().forEach((entry) -> {
                System.out.println(entry.getKey());
                System.out.println(entry.getValue());
        });


        // 7. 使用 Stream API 遍历 HashMap
        coursesMap.entrySet().parallelStream().forEach((entry) -> {
            System.out.print(entry.getKey());
            System.out.print(entry.getValue());
        });

    }
}

删除数据

1,使用 Iterate 迭代器删除
2,使用 Lambda 删除数据
可以使用remove方法直接删除


package com.lcy.demo;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class RemoveHashMapExample {

    public static void main(String[] args) {

        Map<Integer, String> coursesMap = new HashMap<Integer, String>();
        coursesMap.put(1, "C");
        coursesMap.put(2, "C++");
        coursesMap.put(3, "Java");
        coursesMap.put(4, "Python");
        coursesMap.put(5, "SQL");

        coursesMap.remove(1);

        coursesMap.entrySet().stream().forEach((entry) -> {
            System.out.print(entry.getKey() + entry.getValue());
        });

        // 1 使用 Iterator 遍历
        Iterator<Map.Entry<Integer, String>> iterator = coursesMap.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<Integer, String> entry = iterator.next();
            if (entry.getKey() == 1) {
                // 删除
                iterator.remove();
                System.out.println("remove:" + entry.getKey() + entry.getValue());
            } else {
                System.out.println(entry.getKey() + entry.getValue());
            }
        }
        System.out.println();
        coursesMap.entrySet().stream().forEach((entry) -> {
            System.out.print(entry.getKey() + entry.getValue());
        });

        // 2 使用 Iterator 遍历
        Iterator<Integer> iterator1 = coursesMap.keySet().iterator();
        while (iterator1.hasNext()) {
            Integer next = iterator1.next();
            if (next == 1) {
                System.out.println("remove:" + next + coursesMap.get(next));
                // 删除
                iterator1.remove();

            } else {
                System.out.println(next + coursesMap.get(next));
            }
        }
        System.out.println();
        coursesMap.entrySet().stream().forEach((entry) -> {
            System.out.print(entry.getKey() + entry.getValue());
        });


        // 3 使用 Lambda 表达式删除
        coursesMap.keySet().removeIf(key -> key == 1);
        System.out.println();
        coursesMap.entrySet().stream().forEach((entry) -> {
            System.out.print(entry.getKey() + entry.getValue());
        });



    }
}


你可能感兴趣的:(Java,java,jvm,开发语言)