core java collection温习

接口

队列接口能够在尾部添加, 在头部删除, 并返回元素个数,
一个队列的最小接口可能相似以下java

public interface MyQueue<E> {
    void add(E element);
    E remove();
    int size();
}

队列实现可能有两个, 循环数组跟链表队列数组

public class MyCircularArrayQueue<E> implements MyQueue<E> {
    private E[] elements;
    private int head;
    private int tail;
    MyCircularArrayQueue(int capacity) {...}
    @Override
    public void add(E e) {...}
    @Override
    public E remove() {...}
    @Override
    public int size() {...}
}
public class MyLinkedListQueue<E> implements MyQueue<E> {
    @Override
    public void add(E e) {...}
    @Override
    public E remove() {...}
    @Override
    public int size() {...}
    public MyLinkedListQueue() {...}
    private Link<E> head;
    private Link<E> tail;
    public class Link<E> {
        private E element;
        private Link<E> next;
    }
}

jdk类库中, 每种数据结构接口一般会对应一个Abstract类,
这是类库设计者将一些通用的实现方法集成了, 方便框架设计数据结构

集合类的基本接口是Collection框架

  • 扩展了Iterable接口,能够支持for each
  • Iterator, next() remove()方法都是操做的迭代器前面的那一个元素,
    这里与InputStream.read()方法有点相似
  • 迭代器访问顺序取决于集合顺序
  • Collection提供了一些须要实现的方法: iterator() add() addAll()
    remove() removeAll() contains() containsAll() retainAll()
    size() isEmpty() equals() clear() toArray()

具体的集合

  • ArrayList
  • LinkedList
    ** 双向连接
  • ArrayDeque
  • HashSet
    ** LinkedHashSet
  • EnumSet
  • PriorityQueue
  • HashMap
    ** LinkedHashMap
  • TreeMap
  • EnumMap
  • WeakHashMap
  • IdentityHashMap
相关文章
相关标签/搜索