为什么我们可以为LinkedList DESPITE添加空值,强烈反对在Deque界面中这样做?

tim*_*ann 5 java data-structures

来自Deque的Javadoc:

虽然严格要求Deque实现禁止插入null元素,但强烈建议他们这样做.强烈建议任何允许null元素的Deque实现的用户不要利用插入空值的能力.这是因为null通过各种方法用作特殊返回值,以指示deque为空.

我在现有问题中没有找到答案:为什么我们可以将空元素添加到java LinkedList中?

Gau*_*wal 4

允许这样的规定让程序员的生活更轻松。我能想到一个例子。

假设有一个房屋的链接列表,并且一个邮递员来按顺序将信件递送到每个房屋。linkedList 中的每个节点都存在。房屋以家庭物品为价值。在某些情况下,家庭可能不存在,那么房屋对象将具有空值。

但对于邮递员来说,这并不相关,因为他仍然必须访问该节点。邮局建议所有家庭在离开家时注明邮局,以便邮递员无需前往该家(如果可能)。

但出于某种目的,房主决定不将这种情况通知邮局,并希望继续接收信件(间接邮递员拜访)。