java有什么数据结构可以保存“一对多”关系的?

java有什么数据结构可以保存“一对多”关系的?,第1张

没有直接一个键对应多个值的,但是可以想一些办法。\x0d\x0a比如把指定键所对应的值用一个组合数据来表示。\x0d\x0aexample:\x0d\x0aimport java.util.Map\x0d\x0aimport java.util.HashMap\x0d\x0aimport java.util.ArrayList\x0d\x0a\x0d\x0apublic class Example {\x0d\x0a\x0d\x0aprivate static Map>map\x0d\x0aprivate static ArrayList teacherList\x0d\x0aprivate static ArrayList studentList\x0d\x0a\x0d\x0apublic static void main(String [] args) {\x0d\x0amap = new HashMap>()\x0d\x0ateacherList = new ArrayList()\x0d\x0astudentList = new ArrayList()\x0d\x0amap.put("teacher", teacherList)\x0d\x0amap.put("student", studentList)\x0d\x0ateacherList.add("张三")\x0d\x0ateacherList.add("李四")\x0d\x0astudentList.add("王五")\x0d\x0astudentList.add("赵六")\x0d\x0aSystem.out.println("教师姓名:" + map.get("teacher"))\x0d\x0aSystem.out.println("学生姓名:" + map.get("student"))\x0d\x0a}\x0d\x0a}

就我所知是没有直接实现一对多关系的,不过可以变通实现,比如说Map,可以再Value中存一个对象,这个对象包括你的Key所对应的多个关系的集合。现在就一个班级名称和班级中的所有学生信息,在Map中的key中存储班级名称,Value中存储一个List对象,List中存储所有学生的信息,这样就存储了这个一对多的管理。当然方法还有很多,你完全可以自己去定义一个数据结构去实现。

1、可以使用Map<Integer, List>格式来达到一对多的关系

2、key值可以为一个整型数,作为一个类似ID主键来使用,value值可以用List集合来保存多条数据

3、这样就达到了一个key,对应多条记录。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6776157.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存