java一对多映射怎么实现

   2025-02-13 3700
核心提示:在Java中实现一对多映射可以使用Map接口的实现类HashMap或者LinkedHashMap。使用HashMap实现一对多映射:import java.util.*;pub

在Java中实现一对多映射可以使用Map接口的实现类HashMap或者LinkedHashMap。

使用HashMap实现一对多映射:
import java.util.*;public class OneToManyMapping {    public static void main(String[] args) {        Map<String, List<String>> map = new HashMap<>();        // 添加一对多映射关系        map.put("key1", new ArrayList<>(Arrays.asList("value1", "value2")));        map.put("key2", new ArrayList<>(Arrays.asList("value3")));        map.put("key3", new ArrayList<>(Arrays.asList("value4", "value5", "value6")));        // 获取key对应的多个value        List<String> values = map.get("key1");        System.out.println(values); // [value1, value2]        // 添加新的value到key对应的多个value中        map.get("key1").add("value3");        System.out.println(map.get("key1")); // [value1, value2, value3]        // 遍历一对多映射        for (Map.Entry<String, List<String>> entry : map.entrySet()) {            String key = entry.getKey();            List<String> valueList = entry.getValue();            System.out.println(key + ": " + valueList);        }    }}
使用LinkedHashMap实现一对多映射:
import java.util.*;public class OneToManyMapping {    public static void main(String[] args) {        Map<String, List<String>> map = new LinkedHashMap<>();        // 添加一对多映射关系        map.put("key1", new ArrayList<>(Arrays.asList("value1", "value2")));        map.put("key2", new ArrayList<>(Arrays.asList("value3")));        map.put("key3", new ArrayList<>(Arrays.asList("value4", "value5", "value6")));        // 获取key对应的多个value        List<String> values = map.get("key1");        System.out.println(values); // [value1, value2]        // 添加新的value到key对应的多个value中        map.get("key1").add("value3");        System.out.println(map.get("key1")); // [value1, value2, value3]        // 遍历一对多映射        for (Map.Entry<String, List<String>> entry : map.entrySet()) {            String key = entry.getKey();            List<String> valueList = entry.getValue();            System.out.println(key + ": " + valueList);        }    }}

以上两种实现方式都可以实现一对多映射,其中HashMap是无序的,而LinkedHashMap是有序的,根据插入顺序排序。根据需求选择合适的实现类。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言