Java编程思想 容器
引言
容器是Java中非常重要的概念,它提供了一种方便存储和操作数据的方式。在Java编程思想中,容器被广泛应用于各种场景,包括集合、列表、栈、队列等。本文将介绍Java中的容器概念以及常用的容器类,并通过代码示例演示它们的使用。
容器概述
容器是用于存储对象的数据结构,Java中的容器可以分为两大类:Collection和Map。Collection是存储一组对象的容器,而Map是存储键值对的容器。
Collection
Collection是Java中最基本的容器接口,它定义了一组常用的方法来操作和访问集合中的元素。常见的Collection接口的实现类有List、Set和Queue。
- List是有序的集合,可以包含重复的元素。常用的实现类有ArrayList和LinkedList。下面示例演示了如何创建一个ArrayList并添加元素。
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
- Set是不允许包含重复元素的集合。常用的实现类有HashSet和TreeSet。下面示例演示了如何创建一个HashSet并添加元素。
import java.util.HashSet;
import java.util.Set;
public class HashSetExample {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("orange");
for (String fruit : set) {
System.out.println(fruit);
}
}
}
- Queue是一个先进先出(FIFO)的集合。常用的实现类有LinkedList和PriorityQueue。下面示例演示了如何创建一个LinkedList并添加元素。
import java.util.LinkedList;
import java.util.Queue;
public class QueueExample {
public static void main(String[] args) {
Queue<String> queue = new LinkedList<>();
queue.add("apple");
queue.add("banana");
queue.add("orange");
while (!queue.isEmpty()) {
System.out.println(queue.poll());
}
}
}
Map
Map是一种存储键值对的容器,其中键是唯一的,值可以重复。常用的Map实现类有HashMap和TreeMap。下面示例演示了如何创建一个HashMap并添加键值对。
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
}
}
容器的常用方法
容器提供了一组常用的方法来操作和访问集合中的元素。以下是常用的方法示例:
- Collection常用方法
import java.util.ArrayList;
import java.util.Collection;
public class CollectionExample {
public static void main(String[] args) {
Collection<String> collection = new ArrayList<>();
collection.add("apple");
collection.add("banana");
collection.add("orange");
System.out.println("Size: " + collection.size());
System.out.println("Contains 'apple': " + collection.contains("apple"));
collection.remove("banana");
for (String fruit : collection) {
System.out.println(fruit);
}
collection.clear();
System.out.println("Empty: " + collection.isEmpty());
}
}
- Map常用方法
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
System.out.println("Size: " + map.size());
System.out.println("Contains key 'apple': " + map.containsKey("apple"));
System.out.println("Contains value 2: " + map.containsValue(2));
map.remove("banana");
for (