Java集合框架是Java语言中用于表示和操作一组对象的统一数据结构的一组API。它包括了两种基本的数据结构:集合(Collection)和映射(Map)。集合主要用来存放单个对象,而映射则用来存放键值对。
1. **集合(Collection)**:
- **Set**: Set不允许有重复元素,常见的实现类有HashSet、TreeSet等。
- **List**: List允许有重复元素,并且元素是有顺序的,常见的实现类有ArrayList、LinkedList、Vector等。
- **Queue**: Queue是一种特殊的线性表,它只允许在表的前端进行删除操作,在表的后端进行插入操作,常见的实现类有ArrayDeque、PriorityQueue等。
2. **映射(Map)**:
- **HashMap**: HashMap是最常用的Map,它根据键的哈希值来快速查找数据,使用HashMap要求添加的键类明确定义了hashCode() 和 equals() 方法。
- **TreeMap**: TreeMap可以被排序,能够根据键进行自然排序或者定制排序,但是搜索效率不如HashMap高。
- **HashTable**: HashTable与HashMap类似,但是它是线程安全的,所以性能比HashMap差一些。
- **Properties**: Properties 继承于 Hashtable,通常用来保存配置文件的信息。
以下是一个简单的示例,展示了如何创建和使用集合:
```java
import java.util.*;
public class CollectionExample {
public static void main(String[] args) {
// 创建一个Set集合
Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");
System.out.println(set);
// 创建一个List集合
List<String> list = new ArrayList<>();
list.add("D");
list.add("E");
list.add("F");
System.out.println(list);
// 创建一个Map集合
Map<String, String> map = new HashMap<>();
map.put("Key1", "Value1");
map.put("Key2", "Value2");
map.put("Key3", "Value3");
System.out.println(map);
}
}