大家好!我是小欧!
今天我们就开始进入Java进阶学习啦!恭喜关注我的朋友掌握了Java的基础知识点,现在我们来聊聊 Java 中一个非常重要的部分——集合框架。Java 集合框架是处理一组数据的强大工具,让我们能够方便地存储、操作和传输数据。无论你是初学者还是有经验的开发者,掌握集合框架都能让你的编程效率大大提升。
什么是集合框架?
集合框架是一套用来存储和操作数据结构的类和接口。它主要包括以下三大类:
- List:有序集合,允许重复元素。
- Set:无序集合,不允许重复元素。
- Map:键值对集合,每个键只能对应一个值。
List:有序且可重复
ArrayList
ArrayList 是最常用的 List 实现类之一。它的底层是动态数组,能够根据需要自动调整大小。适合频繁读取数据的场景,因为它的随机访问速度很快。
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
// 创建一个ArrayList
ArrayList<String> fruits = new ArrayList<>();
// 添加元素
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
// 输出所有元素
System.out.println("Fruits: " + fruits);
// 获取并输出第一个元素
System.out.println("First fruit: " + fruits.get(0));
}
}
输出结果:
Fruits: [Apple, Banana, Orange]
First fruit: Apple
LinkedList
LinkedList 是另一种 List 实现类,它的底层是双向链表。适合频繁插入和删除操作的场景。
import java.util.LinkedList;
public class LinkedListExample {
public static void main(String[] args) {
// 创建一个LinkedList
LinkedList<String> fruits = new LinkedList<>();
// 添加元素
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
// 输出所有元素
System.out.println("Fruits: " + fruits);
// 移除并输出第一个元素
System.out.println("Removed fruit: " + fruits.removeFirst());
System.out.println("Fruits after removal: " + fruits);
}
}
输出结果:
Fruits: [Apple, Banana, Orange]
Removed fruit: Apple
Fruits after removal: [Banana, Orange]
Set:无序且不重复
HashSet
HashSet 是最常用的 Set 实现类之一。它的底层是哈希表,不保证集合的迭代顺序。
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
// 创建一个HashSet
HashSet<String> fruits = new HashSet<>();
// 添加元素
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
fruits.add("Apple"); // 尝试添加重复元素
// 输出所有元素
System.out.println("Fruits: " + fruits);
}
}
输出结果:
Fruits: [Banana, Apple, Orange]
TreeSet
TreeSet 是另一个常用的 Set 实现类,它的底层是红黑树,保证集合中的元素是有序的。
import java.util.TreeSet;
public class TreeSetExample {
public static void main(String[] args) {
// 创建一个TreeSet
TreeSet<String> fruits = new TreeSet<>();
// 添加元素
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
// 输出所有元素
System.out.println("Fruits: " + fruits);
}
}
输出结果:
Fruits: [Apple, Banana, Orange]
Map:键值对的集合
HashMap
HashMap 是最常用的 Map 实现类之一。它的底层是哈希表,不保证键值对的顺序。
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
// 创建一个HashMap
HashMap<String, Integer> fruitPrices = new HashMap<>();
// 添加键值对
fruitPrices.put("Apple", 1);
fruitPrices.put("Banana", 2);
fruitPrices.put("Orange", 3);
// 输出所有键值对
System.out.println("Fruit prices: " + fruitPrices);
// 获取并输出某个键的值
System.out.println("Price of Apple: " + fruitPrices.get("Apple"));
}
}
输出结果:
Fruit prices: {Apple=1, Banana=2, Orange=3}
Price of Apple: 1
TreeMap
TreeMap 是另一个常用的 Map 实现类,它的底层是红黑树,保证键值对是有序的。
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
// 创建一个TreeMap
TreeMap<String, Integer> fruitPrices = new TreeMap<>();
// 添加键值对
fruitPrices.put("Apple", 1);
fruitPrices.put("Banana", 2);
fruitPrices.put("Orange", 3);
// 输出所有键值对
System.out.println("Fruit prices: " + fruitPrices);
}
}
输出结果:
Fruit prices: {Apple=1, Banana=2, Orange=3}
小结
Java 集合框架为我们提供了丰富的数据结构,帮助我们高效地处理各种数据。掌握这些集合类的使用方法和适用场景,能让我们的代码更简洁、高效。希望这篇文章能帮你更好地理解和运用 Java 集合框架,让你的编程之路更加顺畅!
如果你还有什么问题或建议,欢迎在评论区留言。关注我后面我将会详细讲解各个集合哦!