public interface java.util.List<E> extends java.util.Collection<E>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: java.util.List
  super_class: java.lang.Object
{
  public abstract int size();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isEmpty();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract java.util.Iterator<E> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Iterator<TE;>;

  public abstract java.lang.Object[] toArray();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <T> T[] toArray();
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <T:Ljava/lang/Object;>([TT;)[TT;
    MethodParameters:
      Name  Flags
      a     

  public abstract boolean add();
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TE;)Z
    MethodParameters:
      Name  Flags
      e     

  public abstract boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract boolean containsAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public abstract boolean addAll(java.util.Collection<? extends E>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Collection<+TE;>;)Z
    MethodParameters:
      Name  Flags
      c     

  public abstract boolean addAll(int, java.util.Collection<? extends E>);
    descriptor: (ILjava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (ILjava/util/Collection<+TE;>;)Z
    MethodParameters:
       Name  Flags
      index  
      c      

  public abstract boolean removeAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public abstract boolean retainAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
      Name  Flags
      c     

  public void replaceAll(java.util.function.UnaryOperator<E>);
    descriptor: (Ljava/util/function/UnaryOperator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.List this
        start local 1 // java.util.function.UnaryOperator operator
         0: .line 410
            aload 1 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 411
            aload 0 /* this */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 2 /* li */
        start local 2 // java.util.ListIterator li
         2: .line 412
            goto 4
         3: .line 413
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 2 /* li */
            aload 1 /* operator */
            aload 2 /* li */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            invokeinterface java.util.function.UnaryOperator.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
         4: .line 412
      StackMap locals:
      StackMap stack:
            aload 2 /* li */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 3
         5: .line 415
            return
        end local 2 // java.util.ListIterator li
        end local 1 // java.util.function.UnaryOperator operator
        end local 0 // java.util.List this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Ljava/util/List<TE;>;
            0    6     1  operator  Ljava/util/function/UnaryOperator<TE;>;
            2    6     2        li  Ljava/util/ListIterator<TE;>;
    Signature: (Ljava/util/function/UnaryOperator<TE;>;)V
    MethodParameters:
          Name  Flags
      operator  

  public void sort(java.util.Comparator<? super E>);
    descriptor: (Ljava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // java.util.List this
        start local 1 // java.util.Comparator c
         0: .line 477
            aload 0 /* this */
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            astore 2 /* a */
        start local 2 // java.lang.Object[] a
         1: .line 478
            aload 2 /* a */
            aload 1 /* c */
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         2: .line 479
            aload 0 /* this */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 3 /* i */
        start local 3 // java.util.ListIterator i
         3: .line 480
            aload 2 /* a */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: java.util.List java.util.Comparator java.lang.Object[] java.util.ListIterator top int int java.lang.Object[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* e */
        start local 4 // java.lang.Object e
         5: .line 481
            aload 3 /* i */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            pop
         6: .line 482
            aload 3 /* i */
            aload 4 /* e */
            invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
        end local 4 // java.lang.Object e
         7: .line 480
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 4
         9: .line 484
            return
        end local 3 // java.util.ListIterator i
        end local 2 // java.lang.Object[] a
        end local 1 // java.util.Comparator c
        end local 0 // java.util.List this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljava/util/List<TE;>;
            0   10     1     c  Ljava/util/Comparator<-TE;>;
            1   10     2     a  [Ljava/lang/Object;
            3   10     3     i  Ljava/util/ListIterator<TE;>;
            5    7     4     e  Ljava/lang/Object;
    Signature: (Ljava/util/Comparator<-TE;>;)V
    MethodParameters:
      Name  Flags
      c     

  public abstract void clear();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract int hashCode();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract E get();
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)TE;
    MethodParameters:
       Name  Flags
      index  

  public abstract E set(int, );
    descriptor: (ILjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (ITE;)TE;
    MethodParameters:
         Name  Flags
      index    
      element  

  public abstract void add(int, );
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (ITE;)V
    MethodParameters:
         Name  Flags
      index    
      element  

  public abstract E remove();
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)TE;
    MethodParameters:
       Name  Flags
      index  

  public abstract int indexOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract int lastIndexOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      o     

  public abstract java.util.ListIterator<E> listIterator();
    descriptor: ()Ljava/util/ListIterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/ListIterator<TE;>;

  public abstract java.util.ListIterator<E> listIterator(int);
    descriptor: (I)Ljava/util/ListIterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)Ljava/util/ListIterator<TE;>;
    MethodParameters:
       Name  Flags
      index  

  public abstract java.util.List<E> subList(int, int);
    descriptor: (II)Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (II)Ljava/util/List<TE;>;
    MethodParameters:
           Name  Flags
      fromIndex  
      toIndex    

  public java.util.Spliterator<E> spliterator();
    descriptor: ()Ljava/util/Spliterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.List this
         0: .line 732
            aload 0 /* this */
            bipush 16
            invokestatic java.util.Spliterators.spliterator:(Ljava/util/Collection;I)Ljava/util/Spliterator;
            areturn
        end local 0 // java.util.List this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/List<TE;>;
    Signature: ()Ljava/util/Spliterator<TE;>;
}
Signature: <E:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/Collection<TE;>;
SourceFile: "List.java"