Iterable<T>接口, Iterator<T> iterator()
Collection<E>:接口,add(E e) ,size() , Object[] toArray()
List<E>:接口,get(int index) ,Iterator<E> iterator() ,ListIterator<E> listIterator()
ArrayList<E>:类,
CopyOnWriteArrayList<E>:接口,
LinkedList<E>:不是同步的,getFirst(),getLast()
Vector<E>:接口,大小可以根据需要增大或缩小。
Stack<E>:接口,后进先出(LIFO),peek() ,pop() ,push(E item)
Queue<E>:接口,offer(E e) 优于add(e)
Deque<E>:接口,一个线性 collection,支持在两端插入和移除元,双端队列
BlockingQueue<E>:接口, 不接受 null 元素,线程安全,
BlockingDeque<E>:接口,
Set<E>:最多包含一个 null 元素
SortedSet<E>:接口,headSet(E toElement) ,subSet(E fromElement, E toElement)
NavigableSet<E>:接口,扩展的 SortedSet,具有了为给定搜索目标报告最接近匹配项的导航方法。
方法 lower、floor、ceiling 和 higher 分别返回小于、小于等于、大于等于、大于给定元素的元素,
TreeSet<E>:类,不是同步的,基于 TreeMap 的 NavigableSet 实现
HashSet<E>:类,基于hash的快速元素插入,元素间无顺序
java.util.LinkedHashSet<E>:类,基于hash的快速元素插入,同时维护着元素插入时的先后顺序,先进先出
Map<K,V>:接口, Set<K> keySet() ,int size() ,Collection<V> values() ,Set<Map.Entry<K,V>> entrySet()
SortedMap<K,V>:接口
TreeMap :类
EnumMap<K extends Enum<K>,V>:类,与枚举类型键一起使用的专用 Map 实现。
HashMap<K,V>:类
Hashtable<K,V>:类,同步的
TreeMap<K,V>:类,基于红黑树(Red-Black tree)的 NavigableMap 实现,不是同步的
WeakHashMap :类
ConcurrentHashMap<K,V>:类,此类与 Hashtable 相似,但与 HashMap 不同,它不 允许将 null 用作键或值,不必加锁。
--------------------------------------------------------------------------------------------------------------------
线程池
Executor:接口,执行已提交的 Runnable 任务的对象,不必为每一个任务显式地创建一个线程,execute(Runnable command)
ExecutorService:接口,submit(Runnable task) ,invokeAll(Collection<? extends Callable<T>> tasks)
ScheduledExecutorService:接口,延迟创建任务,
ThreadPoolExecutor:类,是一个线程池,可以对线程进一步配置(重在扩展)
ScheduledThreadPoolExecutor:类,
Executors:类,扮演着线程池工厂的角色,定义了一些返回Executor、ExecutorService、ScheduledExecutorService、ThreadFactory、Callable的方法
Runnable:接口,
Future:接口,表示异步计算的结果,cancel(boolean mayInterruptIfRunning),get() ,isDone()
ScheduledFuture<V>:接口,
RunnableFuture:接口
FutureTask<V>类,可取消的异步计算,可使用 FutureTask 包装 Callable 或 Runnable 对象。
因为 FutureTask 实现了 Runnable,所以可将 FutureTask 提交给 Executor 执行。
RunnableScheduledFuture<V>接口,
Callable<V>:接口,类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。
但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。V call()
ThreadFactory:接口,根据需要创建新线程的对象,Thread newThread(Runnable r)
------------------------------------------------------------------------------------------------------------------
NIO
Channel:接口,通道,表示表示到实体,如硬件设备、文件、网络套接字或可以执行一个或多个不同 I/O 操作(如读取或写入)的程序组件的开放的连接。
SelectableChannel:类,register(Selector sel, int ops),keyFor(Selector sel)
ByteChannel
DatagramChannel
FileChannel
Pipe
ServerSocketChannel
SocketChannel
Selector:类,SelectableChannel 对象的多路复用器。open(),keys(),select(),selectedKeys()
SelectionKey:表示 SelectableChannel 在 Selector 中的注册的标记。OP_WRITE,isReadable() ,SelectableChannel channel()