如果已经提出这个问题,请原谅我。在完成基于使用n-ary树&树的代码评估后,我最近接受了一份工作面试。两种遍历方法。
正如本网站上的大多数示例一样,我使用Generics来定义我的树/节点数据类型,以便强制严格使用我声明Tree类型的任何数据类型。好吧,长话短说,我的结果很好,但面试官问我为什么选择使用Generics作为我的Tree数据结构。我告诉他,因为这是在我的评估中强制使用我想要使用的任何类型树的数据类型的最佳方法。我还告诉他我以前做过类似的数据结构,并记得如何实现它。
我对第一个问题的回答是否很远?
答案 0 :(得分:0)
使用泛型的代码比非泛型代码有许多好处:
以下没有泛型的代码段需要强制转换:
List list = new ArrayList();
list.add("hello");
String s = (String) list.get(0);
当重写使用泛型时,代码不需要转换:
List<String> list = new ArrayList<String>();
list.add("hello");
String s = list.get(0); // no cast
现在,您可以将答案与最佳答案之一进行比较(如果不是最佳答案)。