一.ArrayList implements Iterable<E>
1.属性
(1)int DEFAULT_CAPACITY表示默认容量
(2)int theSize表示链表大小
(3)E[] theItems表示底层是数组
2.构造方法
(1)无参构造器调用doClear()
(2)doClear()将theSize置为0,数组赋默认容量
二.LinkedList implements Iterable<E>
1.内部类
设一个内部类Node<E>,作用是将节点抽象化。
(1)属性:节点中包括E data,Node<E>prev,Node<E>next;
(2)构造方法:Node(E d,Node<E> p,Node<E> n),赋初值。
2.属性
(1)用Node<E> beginMarker和Node<E> endMarkder生成首尾标记
(2)用 int theSize表示链表大小
(3)用int modCount表示对链表所作修改的次数
3.构造方法
(1)无参构造器调用doClear()
(2)doClear()将theSize置为0,++modCount,beginMarker = new Node<E>(null,null,endMarker),endMarker = new Node<E>(null,beginMarker,null)
三.树 <E extends <Comparable<? super E>>
1.内部类
设一个内部类Node<E>,作用是将节点抽象化。
(1)属性:节点中包含E element,Node<E> leftChild,Node<E> rightChild(或Node<E>nextSibling);
(2)构造方法:两个构造方法,Node(E e,Node<E> lt,Node<E> rt/nt)和Node(E e),第二个调用第一个,将2.3参数设为null(表示只有一个节点的树)。
2.属性
(1)用Node<E>(树)或Node<E>[](森林)生成一个引用tree,代表根节点或多个根节点(森林)
(2)用int currentSize代表节点个数
(3)可能会有n个DEFAULT_VALUE:表示默认容量,默认根节点个数(森林)等
3.构造方法
(1)Tree(E item)中先构造一个根节点,然后将调用makeEmpty():将currentSize置零,并将所有的对象置null
(2)Tree()调用Tree(E item),item置为某个DEFAULT_VALUE。