java中链表的boolean add(E element)方法返回false时?
我研究了 LinkedList 实现,发现 boolean add(E element) 等同于 void addLast(E element) 方法
唯一的区别是
addLast(E element)方法实现:
void addLast(E e) {
Node<E> l = last;
Node<E> newNode = new Node<>(l, e, null);
last = newNode;
if (l == null)
first = newNode;
else
l.next = newNode;
size++;
}
并添加(E元素)方法实现:
boolean add(E e) {
addLast(e);
return true;
}
最佳答案
因为 java.util.LinkedList
实现了 Collection
接口(interface),如果集合有,该接口(interface)中的 add()
方法应该返回 true因操作而改变。对于链表,这总是正确的。
这是一个 add()
返回 false 的例子:
Set<Integer> set = new HashSet<>();
System.out.println(set.add(1));
System.out.println(set.add(2));
System.out.println(set.add(1));
输出:
true
true
false
第三个 add
返回 false 只是因为集合没有因为操作而改变(它已经包含 1)。
关于java - java中链表的boolean add(E element)方法返回false时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58017199/