加载中

集合

文章分类

浏览该分类下的所有文章

4 篇文章 1

面试现场【List篇】

List是Java集合接口,常用实现ArrayList(数组,查询快,容量不足时按1.5倍扩容)和LinkedList(链表,增删快)。ArrayList适合读多写少,LinkedList适合写多读少。List可重复有序,Set不重复无序且基于Map。Vector已少用,线程安全List可用Collections.synchronizedList或CopyOnWriteArrayList;后者写时复制实现并发读,但占内存多且读到旧数据。排序用list.sort或Collections.sort,遍历删除用Iterator.remove或list.removeIf避免fast‑fail。

LinkedList常用API详解

文章系统性介绍了 Java LinkedList 常用的查询、删除和添加 API。包括 peek、peekFirst、peekLast(获取但不移除首/尾元素),poll、pollFirst、pollLast(获取并移除首/尾元素),以及 offer、offerFirst、offerLast(在尾部或首部插入元素)。随后给出一个完整的示例代码,演示这些方法在链表中的实际效果,并通过打印结果展示了每一步的变化,帮助读者快速掌握 LinkedList 的基本操作方式。

集合工具类Collections详解

Collections 是 JDK java.util 包下的集合工具类,提供一系列静态方法,帮助对 List、Collection 等进行排序(reverse、shuffle、sort、swap)、查找(binarySearch、max、min、frequency)、填充(fill)等常用操作。它还能通过 synchronizedXxx 返回线程安全的包装集合,避免 ArrayList、HashMap 的并发问题;提供 empty、singleton、unmodifiable 等创建不可变集合的工厂方法;以及 addAll、disjoint 等实用工具。文章通过代码实例演示了这些方法的使用效果,并指出应深入源码了解实现细节,使用 Collections 能提升编码水平,避免自行实现低效代码。

List去除重复数据的五种方式

本文介绍了在Java中对ArrayList去重的五种实现方式:①利用LinkedHashSet既去重又保序;②Java 8 Stream的distinct()配合collect;③通过HashSet判断并手动保持顺序;④遍历列表并用contains检测防止重复;⑤使用双层for循环逐一比较并删除。每种方法均附有代码示例并说明其特点。