List 和 Map 是 Java 中常用的集合类,用于存储和操作数据。List 是有序集合,可以存储重复元素;Map 是键值对的集合,每个键对应一个值,键不能重复。以下是关于 List 和 Map 的知识点和例子:
List 知识点:
- ArrayList:基于数组实现的 List,支持动态扩容。
- LinkedList:基于链表实现的 List,适合频繁插入、删除操作。
- Vector:线程安全的 List,性能略低于 ArrayList。
List 常用方法:
add(element)
:向列表尾部添加元素。get(index)
:获取指定位置的元素。remove(index)
:移除指定位置的元素。size()
:获取列表大小。isEmpty()
:判断列表是否为空。
List 示例:
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List<String> arrayList = new ArrayList<>();
// 添加元素
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Cherry");
// 获取元素
String fruit = arrayList.get(1);
System.out.println("第二个元素:" + fruit); // 输出 "Banana"
// 移除元素
arrayList.remove(0);
System.out.println("移除第一个元素后:" + arrayList); // 输出 "[Banana, Cherry]"
// 判断是否为空
boolean isEmpty = arrayList.isEmpty();
System.out.println("列表是否为空:" + isEmpty); // 输出 "false"
// 获取列表大小
int size = arrayList.size();
System.out.println("列表大小:" + size); // 输出 "2"
}
}
Map 知识点:
- HashMap:基于哈希表实现的 Map,查找速度快,无序。
- TreeMap:基于红黑树实现的 Map,键有序。
- LinkedHashMap:继承自 HashMap,保持元素插入顺序。
Map 常用方法:
put(key, value)
:添加键值对。get(key)
:根据键获取值。remove(key)
:移除指定键的键值对。containsKey(key)
:判断是否包含指定键。size()
:获取键值对数量。
Map 示例:
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> hashMap = new HashMap<>();
// 添加键值对
hashMap.put("Apple", 5);
hashMap.put("Banana", 10);
hashMap.put("Cherry", 15);
// 获取值
int quantity = hashMap.get("Banana");
System.out.println("Banana 的数量:" + quantity); // 输出 "10"
// 移除键值对
hashMap.remove("Cherry");
System.out.println("移除 Cherry 后:" + hashMap); // 输出 "{Apple=5, Banana=10}"
// 判断是否包含键
boolean containsKey = hashMap.containsKey("Apple");
System.out.println("是否包含 Apple 键:" + containsKey); // 输出 "true"
// 获取键值对数量
int size = hashMap.size();
System.out.println("键值对数量:" + size); // 输出 "2"
}
}
这些知识点和示例涵盖了 List 和 Map 的基本概念和常用操作,希望能帮助到你理解它们的用法。