【发布时间】:2018-06-19 06:23:24
【问题描述】:
请创建一个算法,该算法采用类列表并以某种方式对它们进行排序,无论何时
A 类是 B 类的子类
A 类实现接口 B
B的索引小于A。
到目前为止,我尝试的是,
public void sortClasses(Class... classes) {
List<Class> classesToSort = new ArrayList<>();
for(Class c : classes) {
Class superClass = c.getSuperclass();
if(superClass != null) {
classesToSort.add(superClass);
}
Class[] interfaces = c.getInterfaces();
if(interfaces.length > 0) {
classesToSort.addAll(Arrays.asList(interfaces));
}
classesToSort.add(c);
}
}
我不确定这是否有效。
【问题讨论】:
-
我们不会为你做作业。到目前为止,您尝试了什么,问题到底出在哪里?
-
有趣的问题。
-
其实这就是问题所在。给定一个类列表并根据上述条件对它们进行排序。我们需要编写一个函数,它接受一个类列表并相应地对其进行排序
-
@Mureinik:我编辑了我的问题,希望这对我有帮助或给我建议可以做什么或正确的方法
-
您的代码实际上并没有对任何内容进行排序,它只是创建一个本地列表然后返回。也许您想返回
classesToSort?下一个问题是该列表是否排序正确;在某些课程上尝试一下,如果您遇到特定问题,请发布有关该问题的问题。
标签: java algorithm class sorting inheritance