// Resizable-array implementation of the List interface.
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable,
java.io.Serializable
public boolean add(E e) {
modCount++;
add(e, elementData, size);
return true;
}
private void add(E e, Object[] elementData, int s) {
if (s == elementData.length)
elementData = grow();
elementData[s] = e;
size = s + 1;
}
// Doubly-linked list implementation
// of the List and Deque interfaces.
public class LinkedList<E>
extends AbstractSequentialList<E>
implements List<E>, Deque<E>, Cloneable,
java.io.Serializable
private void linkFirst(E e) {
final Node<E> f = first;
final Node<E> newNode = new Node<>(null, e, f);
first = newNode;
if (f == null)
last = newNode;
else
f.prev = newNode;
size++;
modCount++;
}
println(LinkedList<Int>()::class.supertypes)
[java.util.AbstractSequentialList<E!>, java.util.Deque<E!>, kotlin.Cloneable, java.io.Serializable, kotlin.collections.MutableList]
val allStudent: List<Student> = LinkedList(students)
fun newStudent(student: Student) =
(allStudent as MutableList).add(student) // unsafe !