LinkedList的add(int index, E element)方法源码如下:
public void add(int index, E element) {
checkPositionIndex(index);
if (index == size)
linkLast(element);
else
linkBefore(element, node(index));
}
看源码可知,当在往同一个索引的位置重复插入元素时,
如果索引位置等于list的size(),直接在list的后面插入,
否则,就在要插入的index的位置的前一个位置插入。
PS:在leetcode的406题做贪心的时候,就巧妙运用add的插入顺序做题。(先从大到小排序,再插入)