当前位置:实例文章 » JAVA Web实例» [文章]【java】三大容器类(List、Set、Map)的常用实现类的特点

【java】三大容器类(List、Set、Map)的常用实现类的特点

发布人:shili8 发布时间:2025-01-16 17:20 阅读次数:0

**Java 中的三大容器类**

在 Java 中,集合框架提供了三个主要的容器类:List、Set 和 Map。这些类是 Java 集合框架的核心组成部分,它们提供了一种高效、灵活且易于使用的方式来存储和操作数据。

**1. List**

List 是一种有序的集合,允许重复元素。它提供了以下方法:

* `add(E element)`: 将指定元素添加到列表末尾。
* `remove(Object o)`: 移除列表中首次出现的指定元素。
* `get(int index)`: 返回列表中指定索引处的元素。
* `set(int index, E element)`: 将列表中指定索引处的元素替换为指定元素。

**实现类:ArrayList**

`ArrayList` 是最常用的 List 实现类。它基于动态数组来存储元素,提供了快速的插入和删除操作。

javaimport java.util.ArrayList;

public class ArrayListExample {
 public static void main(String[] args) {
 // 创建一个空列表 ArrayList list = new ArrayList<>();

 // 添加元素 list.add("Apple");
 list.add("Banana");
 list.add("Cherry");

 // 获取元素 System.out.println(list.get(0)); // Apple // 替换元素 list.set(1, "Date");
 System.out.println(list.get(1)); // Date // 移除元素 list.remove("Apple");
 System.out.println(list.size()); //2 }
}


**实现类:LinkedList**

`LinkedList` 是一种基于链表的 List 实现类。它提供了快速的插入和删除操作,尤其是在列表的头部或尾部。

javaimport java.util.LinkedList;

public class LinkedListExample {
 public static void main(String[] args) {
 // 创建一个空列表 LinkedList list = new LinkedList<>();

 // 添加元素 list.add("Apple");
 list.add("Banana");
 list.add("Cherry");

 // 获取元素 System.out.println(list.getFirst()); // Apple // 替换元素 list.set(1, "Date");
 System.out.println(list.get(1)); // Date // 移除元素 list.removeFirst();
 System.out.println(list.size()); //2 }
}


**实现类:Vector**

`Vector` 是一种基于动态数组的 List 实现类。它提供了线程安全的操作,但性能较差。

javaimport java.util.Vector;

public class VectorExample {
 public static void main(String[] args) {
 // 创建一个空列表 Vector list = new Vector<>();

 // 添加元素 list.add("Apple");
 list.add("Banana");
 list.add("Cherry");

 // 获取元素 System.out.println(list.firstElement()); // Apple // 替换元素 list.set(1, "Date");
 System.out.println(list.get(1)); // Date // 移除元素 list.remove(0);
 System.out.println(list.size()); //2 }
}


**2. Set**

Set 是一种无序的集合,不能包含重复元素。它提供了以下方法:

* `add(E element)`: 将指定元素添加到集合中。
* `remove(Object o)`: 移除集合中首次出现的指定元素。

**实现类:HashSet**

`HashSet` 是最常用的 Set 实现类。它基于哈希表来存储元素,提供了快速的查找和删除操作。

javaimport java.util.HashSet;

public class HashSetExample {
 public static void main(String[] args) {
 // 创建一个空集合 HashSet set = new HashSet<>();

 // 添加元素 set.add("Apple");
 set.add("Banana");
 set.add("Cherry");

 // 移除元素 set.remove("Apple");
 System.out.println(set.size()); //2 // 检查是否包含元素 System.out.println(set.contains("Banana")); // true }
}


**实现类:LinkedHashSet**

`LinkedHashSet` 是一种基于链表的 Set 实现类。它提供了快速的插入和删除操作,尤其是在集合的头部或尾部。

javaimport java.util.LinkedHashSet;

public class LinkedHashSetExample {
 public static void main(String[] args) {
 // 创建一个空集合 LinkedHashSet set = new LinkedHashSet<>();

 // 添加元素 set.add("Apple");
 set.add("Banana");
 set.add("Cherry");

 // 移除元素 set.remove("Apple");
 System.out.println(set.size()); //2 // 检查是否包含元素 System.out.println(set.contains("Banana")); // true }
}


**实现类:TreeSet**

`TreeSet` 是一种基于二叉树的 Set 实现类。它提供了快速的查找和删除操作,尤其是在集合有序的情况下。

javaimport java.util.TreeSet;

public class TreeSetExample {
 public static void main(String[] args) {
 // 创建一个空集合 TreeSet set = new TreeSet<>();

 // 添加元素 set.add("Apple");
 set.add("Banana");
 set.add("Cherry");

 // 移除元素 set.remove("Apple");
 System.out.println(set.size()); //2 // 检查是否包含元素 System.out.println(set.contains("Banana")); // true }
}


**3. Map**

Map 是一种无序的集合,用于存储键值对。它提供了以下方法:

* `put(K key, V value)`: 将指定键值对添加到映射中。
* `get(Object key)`: 返回映射中指定键的值。
* `remove(Object key)`: 移除映射中首次出现的指定键。

**实现类:HashMap**

`HashMap` 是最常用的 Map 实现类。它基于哈希表来存储键值对,提供了快速的查找和删除操作。

javaimport java.util.HashMap;

public class HashMapExample {
 public static void main(String[] args) {
 // 创建一个空映射 HashMap map = new HashMap<>();

 // 添加键值对 map.put("Apple",1);
 map.put("Banana",2);
 map.put("Cherry",3);

 // 获取值 System.out.println(map.get("Apple")); //1 // 移除键值对 map.remove("Apple");
 System.out.println(map.size()); //2 }
}


**实现类:LinkedHashMap**

`LinkedHashMap` 是一种基于链表的 Map 实现类。它提供了快速的插入和删除操作,尤其是在映射的头部或尾部。

javaimport java.util.LinkedHashMap;

public class LinkedHashMapExample {
 public static void main(String[] args) {
 // 创建一个空映射 LinkedHashMap map = new LinkedHashMap<>();

 // 添加键值对 map.put("Apple",1);
 map.put("Banana",2);
 map.put("Cherry",3);

 // 获取值 System.out.println(map.get("Apple")); //1 // 移除键值对 map.remove("Apple");
 System.out.println(map.size()); //2 }
}


**实现类:TreeMap**

`TreeMap` 是一种基于二叉树的 Map 实现类。它提供了快速的查找和删除操作,尤其是在映射有序的情况下。

javaimport java.util.TreeMap;

public class TreeMapExample {
 public static void main(String[] args) {
 // 创建一个空映射 TreeMap map = new TreeMap<>();

 // 添加键值对 map.put("Apple",1);
 map.put("Banana",2);
 map.put("Cherry",3);

 // 获取值 System.out.println(map.get("Apple")); //1 // 移除键值对 map.remove("Apple");
 System.out.println(map.size()); //2 }
}


综上所述,Java 中的 List、Set 和 Map 都提供了多种实现类,每个实现类都有其特点和使用场景。选择合适的实现类可以显著提高代码的性能和可维护性。

相关标签:javalist开发语言
其他信息

其他资源

Top