一个方法:new ConcurrentHashMap<>();

    1. import java.util.Collections;
    2. import java.util.HashMap;
    3. import java.util.Map;
    4. import java.util.UUID;
    5. import java.util.concurrent.ConcurrentHashMap;
    6. // ConcurrentModificationException
    7. public class MapTest {
    8. public static void main(String[] args) {
    9. // map 是这样用的吗? 不是,工作中不用 HashMap
    10. // 默认等价于什么? new HashMap<>(16,0.75);
    11. // Map<String, String> map = new HashMap<>();
    12. // 建议:研究ConcurrentHashMap的原理
    13. Map<String, String> map = new ConcurrentHashMap<>();
    14. for (int i = 1; i <=30; i++) {
    15. new Thread(()->{
    16. map.put(Thread.currentThread().getName(),UUID.randomUUID().toString().substring(0,5));
    17. System.out.println(map);
    18. },String.valueOf(i)).start();
    19. }
    20. }
    21. }