使用hashMap对数据操作。
public class Test { static HashMap<String, Set<String>> hashMap = new HashMap<>(); public static void main(String[] args) { Set<String> set = new HashSet<>(); set.add("北京"); hashMap.put("city", set); // 判断map中是否存在,如果存在则添加元素到set中,如果不存在则新建set添加到hashMap中 if(hashMap.containsKey("city")) { hashMap.get("city").add("苏州"); } else { Set<String> set = new HashSet<>(); setTmp.add("上海"); hashMap.put("city", set); } System.out.println(hashMap.toString()); } }
优化之后的写法:
public class TestComputeIfAbsent { static HashMap<String, Set<String>> hashMap = new HashMap<>(); public static void main(String[] args) { Set<String> set = new HashSet<>(); set.add("北京"); hashMap.put("city", set); //以下写法是1.8以及之后的版本 hashMap.computeIfAbsent("city", key -> getValues(key)).add("苏州"); System.out.println(hashMap.toString()); } public static HashSet getValues(String key) { return new HashSet(); } }