📜  Java中的集合(1)

📅  最后修改于: 2023-12-03 14:42:59.571000             🧑  作者: Mango

Java中的集合

Java中的集合是指一组实现了Collection接口或Map接口的类。它们主要被用来存储、处理和操纵数据。

Java中的集合框架主要包括以下内容:

  1. Collection接口:是集合框架最基本的接口,定义了一些基本的操作方法,如add()、remove()、iterator()等。

  2. List接口:是Collection接口的子接口之一,定义了有序的、可重复的元素集合。它的主要实现类有ArrayList、LinkedList、Vector等。

  3. Set接口:也是Collection接口的子接口之一,定义了无序的、不可重复的元素集合。它的主要实现类有HashSet、LinkedHashSet、TreeSet等。

  4. Map接口:定义了一种映射关系,即将key映射到value。它的主要实现类有HashMap、TreeMap、LinkedHashMap等。

  5. Queue接口:定义了一种队列,即先进先出的数据结构。它的主要实现类有PriorityQueue、ArrayDeque等。

ArrayList

ArrayList是一个动态数组,它可以根据需要动态地增长或缩小。它实现了List接口,因此它是有序的、可重复的。以下是一个示例代码:

// 创建ArrayList
ArrayList<String> list = new ArrayList<String>();

// 添加元素
list.add("Java");
list.add("Python");
list.add("Ruby");

// 获取元素
String str = list.get(0);

// 删除元素
list.remove(1);

// 获取迭代器
Iterator<String> it = list.iterator();

// 遍历元素
while (it.hasNext()) {
    System.out.println(it.next());
}
HashSet

HashSet是一个无序的、不可重复的元素集合。它是基于HashMap实现的,因此它不保证元素的顺序。以下是一个示例代码:

// 创建HashSet
HashSet<String> set = new HashSet<String>();

// 添加元素
set.add("Java");
set.add("Python");
set.add("Ruby");

// 删除元素
set.remove("Python");

// 判断元素是否存在
boolean exists = set.contains("Java");

// 获取迭代器
Iterator<String> it = set.iterator();

// 遍历元素
while (it.hasNext()) {
    System.out.println(it.next());
}
HashMap

HashMap是一种映射关系,即将key映射到value。它是基于哈希表实现的,因此它的元素顺序是无序的。以下是一个示例代码:

// 创建HashMap
HashMap<String, Integer> map = new HashMap<String, Integer>();

// 添加元素
map.put("Java", 1);
map.put("Python", 2);
map.put("Ruby", 3);

// 获取元素
int value = map.get("Java");

// 删除元素
map.remove("Python");

// 判断元素是否存在
boolean exists = map.containsKey("Java");

// 获取键的集合
Set<String> keys = map.keySet();

// 获取值的集合
Collection<Integer> values = map.values();

// 获取迭代器
Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();

// 遍历元素
while (it.hasNext()) {
    Map.Entry<String, Integer> entry = it.next();
    System.out.println(entry.getKey() + " -> " + entry.getValue());
}
总结

Java中的集合框架提供了丰富的数据结构和算法,可以方便地实现各种数据处理和存储需求。程序员需要根据具体的需求选择适合的集合类型,同时注意集合的性能、安全和正确使用方式。