文章目录
-
-
- Java 集合框架的主要集合类与十八般冷兵器的碰撞
-
- 1. ArrayList —— 刀
- 2. LinkedList —— 枪
- 3. HashSet —— 剑
- 4. LinkedHashSet —— 弓
- 5. TreeSet —— 戟
- 6. HashMap —— 斧
- 7. LinkedHashMap —— 钩
- 8. TreeMap —— 叉
- 9. PriorityQueue —— 锤
- 10. Vector —— 棍
- 11. Stack —— 鞭
- 12. ArrayDeque —— 锹
- 13. WeakHashMap —— 镖
- 14. Hashtable —— 锤
- 15. ConcurrentSkipListMap —— 链
- 16. ConcurrentLinkedQueue —— 盾
- 17. CopyOnWriteArrayList —— 匕首
- 18. BlockingQueue —— 鞭
-
Java 集合框架的主要集合类与十八般冷兵器的碰撞
Gitee链接地址,建议收藏,后续我会对专栏进行整理,每篇文章进行校正和调整,然后统一存放在gitee仓库中
1. ArrayList —— 刀
- 特点:快速访问,动态数组
- 兵器特点:刀法刚猛,直截了当
- 应用场景:适用于需要频繁随机访问的场景,如日志记录、数据展示等。
- 示例代码:
import java.util.ArrayList; public class ArrayListExample { public static void main(String[] args) { ArrayList<String> logs = new ArrayList<>(); logs.add("Log 1"); logs.add("Log 2"); logs.add("Log 3"); for (String log : logs) { System.out.println(log); } } }
2. LinkedList —— 枪
- 特点:快速插入和删除,双向链表
- 兵器特点:长枪灵动,攻守兼备
- 应用场景:适用于需要频繁插入和删除的场景,如消息队列、浏览器历史记录等。
- 示例代码:
import java.util.LinkedList; public class LinkedListExample { public static void main(String[] args) { LinkedList<String> messages = new LinkedList<>(); messages.add("Message 1"); messages.add("Message 2"); messages.addFirst("Message 0"); while (!messages.isEmpty()) { System.out.println(messages.removeFirst()); } } }
3. HashSet —— 剑
- 特点:无序集合,快速查找
- 兵器特点:剑法迅捷,一击必杀
- 应用场景:适用于需要快速查找和去重的场景,如用户黑名单、唯一标识符管理等。
- 示例代码:
import java.util.HashSet; public class HashSetExample { public static void main(String[] args) { HashSet<String> users = new HashSet<>(); users.add("Alice"); users.add("Bob"); users.add("Alice"); // 重复元素不会被添加 System.out.println("Users: " + users); } }
4. LinkedHashSet —— 弓
- 特点:有序集合,插入顺序
- 兵器特点:弓箭远射,精准命中
- 应用场景:适用于需要保持插入顺序的场景,如日志记录、数据展示等。
- 示例代码:
import java.util.LinkedHashSet; public class LinkedHashSetExample { public static void main(String[] args) { LinkedHashSet<String> logs = new LinkedHashSet<>(); logs.add("Log 1"); logs.add("Log 2"); logs.add("Log 3"); System.out.println("Logs: " + logs); } }
5. TreeSet —— 戟
- 特点:有序集合,红黑树实现
- 兵器特点:戟法多变,攻防兼备
- 应用场景:适用于需要有序集合的场景,如排行榜、时间轴等。
- 示例代码