我无法确定要使用哪种数据结构。我正在尝试代表需要用来完成一个专业的课程,完成先决条件。最初,我在考虑使用和邻接矩阵来表示数据。但是,我目前正在使用arraylist来存储每门课程。然后,在每个课程对象中,我有一个arraylist包含每个课程的父母和每个课程的孩子。我打算在其儿童阵列中开设一门虚拟课程。然后我计划做一个BFS并添加课程,只要父母已经被选中并且当前的课程没有。我不禁感到这不是理想的解决方案。我试着看一下列表,集合和地图之间的区别,我无法明确理由为什么一个优于另一个。所有的课程都是独一无二的,套装不包含重复,所以这似乎是有道理的。另一方面,课程的顺序很重要,所以列表似乎是一个好主意。然后,我可以将课程编号作为关键,课程对象是地图中的值。