集合源码部分记录
package com.shob.coll; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.Map; import java.util.Set; public class ListColl { public void col(){ /** * 底层是数组,多用数组复制的形式处理增删操作 */ ArrayList li = new ArrayList(); /** * 底层是数组,Entry数组形式,各式的判断通过if 和 for去实现 * HashMap储存键值对 */ Map map = new HashMap(); /** * 底层是HashMap,只存储对象 */ Set set = new HashSet(); /** * 采用Node节点形式,Node包含起始点、结束点、值--- 非线程安全 * 无序存放,只通过节点来进行关联 */ LinkedList ll = new LinkedList(); /** * Deque的含义是“double ended queue”,即双端队列,它既可以当作栈使用,也可以当作队列使用
* 扩容数均为2的指数 * 非线程安全 * 底层是数组,只有头和尾之分,无中间 * head指向首端第一个有效元素,tail指向尾端第一个可以插入元素的空位。因为是循环数组,所以head不一定总等于0,tail也不一定总是比head大。 */ ArrayDeque deque = new ArrayDeque(); //map -- > collections map.values(); Iterator ite = li.iterator(); //迭代器 while(ite.hasNext()){ Object obj = ite.next(); } } }