Java容器
在Java编程中,容器是一种用于存储和管理数据的数据结构。Java提供了丰富的容器类库,包括List、Set、Map等,以及它们的实现类ArrayList、HashSet、HashMap等。
1. 列表(List)
列表是一种有序的集合,允许存储重复的元素。Java中常用的列表接口是List,常见的实现类包括ArrayList和LinkedList。
代码示例:
import java.util.List;
import java.util.ArrayList;
public class ListExample {
public static void main(String[] args) {
// 创建ArrayList对象
List<String> list = new ArrayList<>();
// 添加元素
list.add("Java");
list.add("Python");
list.add("C++");
// 获取元素
String element = list.get(0);
System.out.println("First element: " + element);
// 遍历列表
for (String str : list) { System.out.println(str); } } }
2. 集合(Set)
集合是一种不允许存储重复元素的数据结构。Java中的集合接口有Set,常见的实现类包括HashSet和TreeSet。
代码示例:
import java.util.Set;
import java.util.HashSet;
public class SetExample {
public static void main(String[] args) {
// 创建HashSet对象
Set<String> set = new HashSet<>();
// 添加元素
set.add("Apple");
set.add("Banana");
set.add("Orange");
// 遍历集合
for (String str : set) {
System.out.println(str); } } }
3. Map接口
映射是一种键值对的集合,每个键对应一个值。Java中的映射接口是Map,常见的实现类包括HashMap和TreeMap。
代码示例:
import java.util.Map;
import java.util.HashMap;
public class MapExample {
public static void main(String[] args) {
// 创建HashMap对象
Map<String, Integer> map = new HashMap<>();
// 添加键值对
map.put("Java", 1);
map.put("Python", 2);
map.put("C++", 3);
// 获取值
int value = map.get("Java");
System.out.println("Value for key 'Java': " + value);
// 遍历映射
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()); } } }
4. 栈(Stack)
栈是一种后进先出(LIFO)的数据结构,常用于存储临时数据。Java中的栈可以通过Stack类来实现。
代码示例:
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
// 创建Stack对象
Stack<String> stack = new Stack<>();
// 入栈
stack.push("Java");
stack.push("Python");
stack.push("C++");
// 出栈
String element = stack.pop();
System.out.println("Popped element: " + element);
// 查看栈顶元素
String topElement = stack.peek();
System.out.println("Top element: " + topElement); } }
5. 队列(Queue)
队列是一种先进先出(FIFO)的数据结构,常用于任务调度和消息传递。Java中的队列可以通过Queue接口来实现,常见的实现类包括LinkedList和PriorityQueue。
代码示例:
import java.util.Queue;
import java.util.LinkedList;
public class QueueExample {
public static void main(String[] args) {
// 创建LinkedList对象作为队列
Queue<String> queue = new LinkedList<>();
// 入队
queue.offer("Task1");
queue.offer("Task2");
queue.offer("Task3");
// 出队
String task = queue.poll();
System.out.println("Task processed: " + task);
// 查看队首元素
String frontTask = queue.peek();
System.out.println("Front task: " + frontTask); } }