Java 基础教学:高级特性与实战-集合框架

Java 集合框架提供了一套性能优良、使用方便的接口和类,用于存储和操作群组数据。最常用的集合接口有 ListSetMap

List

List 接口可以存储一系列有序的元素,并且可以包含重复的元素。List 的实现类常用的有 ArrayListLinkedList

ArrayList

ArrayListList 接口的大小可变数组的实现。它允许随机快速访问元素。

示例:使用 ArrayList
java 复制代码
import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");
        fruits.add("Banana");

        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}

LinkedList

LinkedListList 接口的链表实现。相对于 ArrayList,它在列表中间插入或删除元素时更高效。

示例:使用 LinkedList
java 复制代码
import java.util.LinkedList;
import java.util.List;

public class LinkedListExample {
    public static void main(String[] args) {
        List<String> animals = new LinkedList<>();
        animals.add("Dog");
        animals.add("Cat");
        animals.add("Horse");

        for (String animal : animals) {
            System.out.println(animal);
        }
    }
}

Set

Set 接口定义了一个不能包含重复元素的集合。Set 的实现类常用的有 HashSetTreeSet

HashSet

HashSet 是基于 HashMap 实现的,它不保证集合的迭代顺序;特别是,它不保证该顺序恒久不变。

示例:使用 HashSet
java 复制代码
import java.util.HashSet;
import java.util.Set;

public class SetExample {
    public static void main(String[] args) {
        Set<String> cities = new HashSet<>();
        cities.add("New York");
        cities.add("London");
        cities.add("Paris");
        cities.add("New York");

        for (String city : cities) {
            System.out.println(city);
        }
    }
}

TreeSet

TreeSet 是基于 TreeMap 实现的,元素被排序存储。

示例:使用 TreeSet
java 复制代码
import java.util.Set;
import java.util.TreeSet;

public class TreeSetExample {
    public static void main(String[] args) {
        Set<String> treeSet = new TreeSet<>();
        treeSet.add("Orange");
        treeSet.add("Apple");
        treeSet.add("Banana");

        for (String fruit : treeSet) {
            System.out.println(fruit);
        }
    }
}

Map

Map 接口定义了一个从键映射到值的对象。Map 不能包含重复的键;每个键最多只能映射到一个值。Map 的实现类常用的有 HashMapTreeMap

HashMap

HashMap 是基于哈希表的 Map 接口实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。

示例:使用 HashMap
java 复制代码
import java.util.HashMap;
import java.util.Map;

public class MapExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("Alice", 30);
        map.put("Bob", 25);
        map.put("Charlie", 35);

        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

TreeMap

TreeMap 是基于红黑树的 NavigableMap 实现。此类保证映射按照键的升序排序。

示例:使用 TreeMap
java 复制代码
import java.util.Map;
import java.util.TreeMap;

public class TreeMapExample {
    public static void main(String[] args) {
        Map<String, Integer> treeMap = new TreeMap<>();
        treeMap.put("Alice", 30);
        treeMap.put("Charlie", 35);
        treeMap.put("Bob", 25);

        for (Map.Entry<String, Integer> entry : treeMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

总结

Java 集合框架提供了一组丰富的类和接口,用于在应用程序中高效地管理数据集合。ListSetMap 是最基本的集合类型,每种类型都有不同的特点和用途。了解何时使用哪种类型的集合以及如何正确地使用它们,对于编写高效、易于维护的 Java 程序至关重要。

相关推荐
百***787513 分钟前
Step-Audio-2 轻量化接入全流程详解
android·java·gpt·php·llama
快乐肚皮19 分钟前
MySQL递归CTE
java·数据库·mysql·递归表达式
廋到被风吹走23 分钟前
【Spring】DispatcherServlet解析
java·后端·spring
王琦031823 分钟前
Python 函数详解
开发语言·python
胡伯来了28 分钟前
13. Python打包工具- setuptools
开发语言·python
廋到被风吹走31 分钟前
【Spring】PlatformTransactionManager详解
java·spring·wpf
小鸡吃米…36 分钟前
Python 中的多层继承
开发语言·python
deng-c-f1 小时前
Linux C/C++ 学习日记(53):原子操作(二):实现shared_ptr
开发语言·c++·学习
wanghowie1 小时前
01.07 Java基础篇|函数式编程与语言新特性总览
java·开发语言·面试