# List接口分析

# 接口定义

public interface List<E> extends Collection<E> {
// 继承Collection<E>接口
}
1
2
3

# 继承Collection接口的方法

image-20251223184749951

List接口中有些方法是给子类去实现的。具体是那个类去实现呢?

image-20251223185127315

List重写的逻辑

    // List<E>接口
	@Override
    default Spliterator<E> spliterator() {
        return Spliterators.spliterator(this, Spliterator.ORDERED);
    }
1
2
3
4
5

Collection接口原有的逻辑

	// Collection<E> 接口
	@Override
    default Spliterator<E> spliterator() {
        return Spliterators.spliterator(this, 0);
    }
1
2
3
4
5

# List独有的方法

注意

  • 下面哪些方法都是List接口独有的,在 Collection 接口没有。不是继承 Collection 接口的。
  • 这些方法在这个list接口只是定义,没有具体的实现。
E get(int index);
1
E set(int index, E element);
1
void add(int index, E element);
1
E remove(int index);
1
int indexOf(Object o);
1
int lastIndexOf(Object o);
1
ListIterator<E> listIterator();
1
ListIterator<E> listIterator(int index);
1
List<E> subList(int fromIndex, int toIndex);
1
Last Updated: 4/3/2026, 6:47:37 AM