通用双端优先级队列的问题

时间:2016-10-01 18:03:26

标签: java linked-list queue doubly-linked-list

我的数据结构类赋值很麻烦。我需要使用双链接列表来实现双端优先级队列,但我教授为测试它提供的代码中有一些奇怪的东西。我不理解的部分是他为什么使用DoubleEndedPriorityQueue但是然后添加对象而不是整数。我得到的错误是没有方法add(object)是真的。

Num.signum

1 个答案:

答案 0 :(得分:0)

正如您所说,此代码目前无法编译 - 您需要将sampleL变为DoubleEndedPriorityQueue<Object>,或者将整数转换为整数:

sampleL.add((Integer)5);

还有一种更好的方式来获取包装类型:

sampleL.add(Integer.valueOf(5));

我认为这里的意图可能是为了避免隐式自动装箱 - java会自动在包装器和原始类型之间进行转换,但这样做很明显。特别是在涉及泛型的情况下,这可能会让人感到困惑,并且(特别是在学习时)不依赖于这些快捷方式是件好事。

相关问题