在Java编程中,集合框架是处理数据结构的重要组成部分。掌握Java集合框架对于编写高效、可维护的代码至关重要。本文将通过10个实战代码实例,帮助你深入理解Java集合框架的应用。
实例1:ArrayList的使用
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
System.out.println("List: " + list);
System.out.println("First Element: " + list.get(0));
System.out.println("Last Element: " + list.get(list.size() - 1));
}
}
在这个例子中,我们创建了一个ArrayList,并添加了一些水果名称。然后,我们打印出整个列表以及第一个和最后一个元素。
实例2:LinkedList的使用
import java.util.LinkedList;
import java.util.List;
public class LinkedListExample {
public static void main(String[] args) {
List<String> list = new LinkedList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
System.out.println("List: " + list);
System.out.println("First Element: " + list.getFirst());
System.out.println("Last Element: " + list.getLast());
}
}
在这个例子中,我们使用LinkedList代替ArrayList。LinkedList提供了类似ArrayList的功能,但它在添加和删除元素时通常更快。
实例3:HashSet的使用
import java.util.HashSet;
import java.util.Set;
public class HashSetExample {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Cherry");
System.out.println("Set: " + set);
}
}
在这个例子中,我们使用HashSet来存储水果名称。HashSet不允许重复元素,并且它提供了快速的查找性能。
实例4:HashMap的使用
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
System.out.println("Map: " + map);
System.out.println("Apple Count: " + map.get("Apple"));
}
}
在这个例子中,我们使用HashMap来存储水果名称和对应的数量。HashMap提供了快速的键值对存储和检索。
实例5:TreeSet的使用
import java.util.TreeSet;
import java.util.Set;
public class TreeSetExample {
public static void main(String[] args) {
Set<String> set = new TreeSet<>();
set.add("Apple");
set.add("Banana");
set.add("Cherry");
System.out.println("Sorted Set: " + set);
}
}
在这个例子中,我们使用TreeSet来存储水果名称。TreeSet是一个有序集合,它根据元素的自然顺序或指定的比较器进行排序。
实例6:LinkedHashSet的使用
import java.util.LinkedHashSet;
import java.util.Set;
public class LinkedHashSetExample {
public static void main(String[] args) {
Set<String> set = new LinkedHashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Cherry");
System.out.println("Ordered Set: " + set);
}
}
在这个例子中,我们使用LinkedHashSet来存储水果名称。LinkedHashSet是HashSet的一个子类,它维护了一个双向链表来记录元素的插入顺序。
实例7:ListIterator的使用
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIteratorExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
while (iterator.hasPrevious()) {
System.out.println(iterator.previous());
}
}
}
在这个例子中,我们使用ListIterator来遍历ArrayList。ListIterator提供了向前和向后遍历列表的功能,并且可以修改列表中的元素。
实例8:HashSet的迭代器
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class HashSetIteratorExample {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Cherry");
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
在这个例子中,我们使用HashSet的迭代器来遍历集合中的元素。
实例9:HashMap的键集、值集和键值映射集
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapCollectionsExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Cherry", 3);
Set<String> keySet = map.keySet();
System.out.println("Key Set: " + keySet);
Set<Integer> valueSet = map.values();
System.out.println("Value Set: " + valueSet);
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
System.out.println("Entry Set: " + entrySet);
}
}
在这个例子中,我们展示了如何从HashMap中获取键集、值集和键值映射集。
实例10:集合框架的泛型使用
import java.util.ArrayList;
import java.util.List;
public class GenericCollectionExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
在这个例子中,我们使用泛型来确保List只能存储String类型的元素。这是集合框架泛型使用的一个简单示例。
通过以上10个实战代码实例,你将能够更好地理解Java集合框架的应用。希望这些实例能够帮助你提高编程技能,并在实际项目中更好地使用Java集合。
