本文共 2969 字,大约阅读时间需要 9 分钟。
Java集合框架是Java编程中的核心工具包,包含多种集合接口和实现类。这些集合接口和实现类在处理数据存储和操作方面起着重要作用。本文将详细介绍List、Set以及Map接口及其实现类。
List接口是集合框架中最常用的接口之一。它允许元素重复,并且元素的存储顺序与操作顺序一致,支持随机访问。List的主要特点包括:
import java.util.ArrayList;import java.util.List;public class ArrayListDemo { public static void main(String[] args) { List arrayList = new ArrayList<>(); arrayList.add("First"); arrayList.add("second"); System.out.println("List size: " + arrayList.size()); // Traversal and modification System.out.println("After adding elements: " + arrayList); List arrayList2 = new ArrayList<>(arrayList); System.out.println("Copy of the list: " + arrayList2); // Modify the original list arrayList.add(1, "insert data"); System.out.println("After insertion: " + arrayList); arrayList.remove("second"); System.out.println("After removing 'second': " + arrayList); arrayList.remove(2); System.out.println("After removing third element: " + arrayList); // Convert to array Object[] array = arrayList.toArray(); System.out.println("Array representation: " + array); }} Set接口与List不同,它不允许元素重复,并且不影响元素的存储顺序。Set的主要特点包括:
import java.util.TreeSet;import java.util.Set;public class TreeSetDemo { public static void main(String[] args) { TreeSet treeSet = new TreeSet<>(); treeSet.add("First"); treeSet.add("second"); treeSet.add("third"); treeSet.add("Forth"); System.out.println("TreeSet contents: " + treeSet); for (String str : treeSet) { System.out.println(str); } }} Map接口用于存储键值对,键和值可以是任意对象。Map的核心特点包括:
import java.util.TreeMap;import java.util.Map;public class TreeMapDemo { public static void main(String[] args) { TreeMap treeMap = new TreeMap<>(); treeMap.put("Tom", 23); treeMap.put("Rose", 18); treeMap.put("Jane", 26); treeMap.put("Black", 24); treeMap.put("Smith", 21); System.out.println("TreeMap contents: " + treeMap); for (Map.Entry entry : treeMap.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); } }} Java集合框架提供了丰富的接口和实现类,适用于不同场景。List用于有序的可重复元素存储,Set用于无重复元素存储,Map用于键值对存储。选择合适的集合类型能够提升程序的效率和可读性。在实际开发中,需要根据具体需求选择合适的集合实现类,并合理使用其操作方法。
转载地址:http://edyg.baihongyu.com/