在Java中,ArrayList
、LinkedList
、HashSet
和 HashMap
是常用的集合类,它们分别属于不同的集合框架接口(如 List
、Set
和 Map
)。下面是对这些类的具体方法及其创建过程的详细说明。
1. ArrayList
ArrayList
是一个基于数组实现的 List
接口的实现类,它允许存储重复元素,并且是有序的(插入顺序)。
方法
boolean add(E e)
: 添加元素到列表的末尾。E remove(int index)
: 移除指定位置的元素。E get(int index)
: 获取指定位置的元素。int size()
: 返回列表中的元素个数。boolean contains(Object o)
: 检查列表中是否包含指定的元素。
创建过程
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
System.out.println(list.get(0)); // 输出: Apple
System.out.println(list.size()); // 输出: 3
list.remove(1);
System.out.println(list.contains("Banana")); // 输出: false
}
}
2. LinkedList
LinkedList
是一个基于链表实现的 List
接口的实现类,它同样允许存储重复元素,并且是有序的(插入顺序)。
方法
void addFirst(E e)
: 在列表的开头添加元素。void addLast(E e)
: 在列表的末尾添加元素。E getFirst()
: 获取列表的第一个元素。E getLast()
: 获取列表的最后一个元素。E removeFirst()
: 移除并返回列表的第一个元素。E removeLast()
: 移除并返回列表的最后一个元素。
创建过程
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.addFirst("Apple");
list.addLast("Banana");
list.addLast("Cherry");
System.out.println(list.getFirst()); // 输出: Apple
System.out.println(list.getLast()); // 输出: Cherry
list.removeFirst();
System.out.println(list.getFirst()); // 输出: Banana
}
}
3. HashSet
HashSet
是一个基于哈希表实现的 Set
接口的实现类,它不允许存储重复元素,并且是无序的。
方法
boolean add(E e)
: 添加元素到集合中。boolean remove(Object o)
: 从集合中移除指定的元素。boolean contains(Object o)
: 检查集合中是否包含指定的元素。int size()
: 返回集合中的元素个数。
创建过程
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Cherry");
System.out.println(set.contains("Banana")); // 输出: true
set.remove("Banana");
System.out.println(set.size()); // 输出: 2
}
}
4. HashMap
HashMap
是一个基于哈希表实现的 Map
接口的实现类,它存储键值对,并且键不允许重复,但值可以重复。
方法
V put(K key, V value)
: 将指定的键与值放入映射中。V get(Object key)
: 返回指定键映射到的值。V remove(Object key)
: 移除指定键的键值对。boolean containsKey(Object key)
: 检查映射中是否包含指定的键。int size()
: 返回映射中的键值对个数。
创建过程
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
System.out.println(map.get("Banana")); // 输出: 2
System.out.println(map.containsKey("Cherry")); // 输出: true
map.remove("Banana");
System.out.println(map.size()); // 输出: 2
}
}
这些示例展示了如何创建和使用这些集合类,以及它们的一些常用方法。每种集合类都有其特定的用途和性能特点,选择哪种集合类取决于具体的应用场景。