Java 常用数据结构汇总 📚💡
在 Java 中有很多常用的数据结构,每种都有自己的特点和用途。😄
1. List 接口及其实现 📝
List 是一个有序集合,允许存储重复的元素。它有以下常见的实现类:
ArrayList 📋
特点:基于动态数组,支持随机访问,查找速度快,但插入、删除效率较低。
适用场景:适合频繁查询、较少插入和删除的场景。
常用 API:
add(E e):添加元素。
remove(int index):删除指定位置的元素。
get(int index):获取指定位置的元素。
contains(Object o):检查列表中是否包含指定元素。
size():返回列表中元素的个数。
示例:List
list.add("Apple");
list.add("Banana");
list.add("Cherry");
System.out.println(list.get(1)); // 输出:Banana
list.remove(0); // 移除 "Apple"
System.out.println(list); // 输出:[Banana, Cherry]
LinkedList 🔗
特点:基于双向链表,插入和删除元素效率较高,适合处理大量插入、删除操作。
适用场景:频繁插入和删除操作的场景。
常用 API:
addFirst(E e):在列表开头添加元素。
addLast(E e):在列表末尾添加元素。
removeFirst():删除列表中的第一个元素。
removeLast():删除列表中的最后一个元素。
get(int index):获取指定位置的元素。
示例:List
linkedList.add("Dog");
linkedList.add("Cat");
linkedList.addFirst("Horse");
System.out.println(linkedList); // 输出:[Horse, Dog, Cat]
linkedList.removeLast(); // 移除 "Cat"
System.out.println(linkedList); // 输出:[Horse, Dog]
Vector 🛑(老旧实现)
特点:线程安全的列表实现(在现代开发中不推荐)。
适用场景:一般被 ArrayList 代替,不再推荐使用。
常用 API:
add(E e):添加元素。
remove(int index):删除指定位置的元素。
get(int index):获取指定位置的元素。
size():返回元素的个数。
示例:Vector
vector.add("One");
vector.add("Two");
System.out.println(vector); // 输出:[One, Two]
2. Set 接口及其实现 🚫🔄
Set 是一个不允许有重复元素的集合。以下是常见的实现:
HashSet 💨
特点:基于哈希表,不保证元素顺序,查找和插入操作非常快。
适用场景:需要集合去重且不关心顺序。
常用 API:
add(E e):添加元素。
remove(Object o):移除指定元素。
contains(Object o):检查集合中是否包含某元素。
size():返回集合中元素的个数。
示例:Set<