为了账号安全,请及时绑定邮箱和手机立即绑定

请教一下,java 有没有什么数据结构可以保存一对多的关系的??

/ 猿问

请教一下,java 有没有什么数据结构可以保存一对多的关系的??

慕的地6264312 2019-11-19 18:14:02

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


查看完整描述

3 回答

?
白板的微信

没有直接一个键对应多个值的,但是可以想一些办法。
比如把指定键所对应的值用一个组合数据来表示。
example:
import java.util.Map;
import java.util.HashMap;
import java.util.ArrayList;

public class Example {

private static Map<String, ArrayList<String>> map;
private static ArrayList<String> teacherList;
private static ArrayList<String> studentList;

public static void main(String [] args) {
map = new HashMap<String, ArrayList<String>>();
teacherList = new ArrayList<String>();
studentList = new ArrayList<String>();
map.put("teacher", teacherList);
map.put("student", studentList);
teacherList.add("张三");
teacherList.add("李四");
studentList.add("王五");
studentList.add("赵六");
System.out.println("教师姓名:" + map.get("teacher"));
System.out.println("学生姓名:" + map.get("student"));
}
}




查看完整回答
反对 回复 2019-11-24
?
慕前端131612

用Map<Key, List>即可Map<String, List> map = new HashMap<String, List>();List<Object> list = new ArrayList<Object>(); map.put("keyValue", list); 这样就可以表示一对多如果你的一表示对象,那么你可以把key改成Object类型

查看完整回答
反对 回复 2019-11-24
?
精慕HU

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

查看完整回答
反对 回复 2019-11-24

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信