Java集合框架由Collection和Map两大接口派生,Collection包含Set(无序不可重复)、List(有序可重复)、Queue(FIFO队列)三类,Map实现键值对映射。常用实现类包括HashSet、TreeSet、ArrayList、LinkedList、ArrayDeque、HashMap、TreeMap等,多数位于java.util包下且线程不安全。线程安全的集合类如Vector、Hashtable性能较差,推荐使用Collections.synchronizedXxx()包装或java.util.concurrent包下的ConcurrentHashMap、CopyOnWriteArrayList等。HashMap基于数组+链表/红黑树实现,JDK8中链表长度达8时转为红黑树以提升查询效率至O(logN)。其扩容机制为容量翻倍,通过位运算优化索引计算,负载因子默认0.75。ConcurrentHashMap在JDK8中摒弃分段锁,采用CAS+synchronized实现细粒度并发控制,读操作无锁,写操作通过自旋获取锁,显著提升并发性能。LinkedHashMap通过双向链表维护插入顺序,兼顾HashMap性能与有序遍历能力。线程不安全原因包括多线程put时可能形成循环链表导致死循环,而Hashtable虽线程安全但性能低下,已不推荐使用。

TreeMap基于红黑树实现,支持键的自然排序或自定义Comparator排序,核心操作如get、put、remove的时间复杂度为O(logN),其底层通过Entry节点存储键值对及树结构信息。Set代表无序、不可重复元素的集合,Map是键值对的映射,其键集合即为Set;List则有序且允许重复。ArrayList基于动态数组,默认容量16,扩容50%,随机访问高效(O(1)),但插入删除需数组拷贝;LinkedList基于双向链表,插入删除高效,但随机访问慢(O(N)),内存开销更大。线程安全的List包括Vector(同步但性能低)、Collections.synchronizedList(全局锁同步)、CopyOnWriteArrayList(写时复制,读无锁,适合读多写少场景,但存在内存占用高、数据非实时一致问题)。HashSet底层由HashMap实现,元素作为键存储,值为静态PRESENT对象;TreeSet基于红黑树,支持排序但元素不可为null。BlockingQueue通过ReentrantLock与Condition实现线程安全,提供四类操作:抛异常、返回特定值、阻塞、超时,ArrayBlockingQueue为例,put/take在队列满/空时阻塞,利用Condition管理等待与唤醒。Stream API支持链式操作,中间方法(如filter、map、sorted)返回新流且保持打开,末端方法(如forEach、count、reduce)触发计算并消耗流;另有有状态(如distinct、sorted)和短路(如limit、