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 程序至关重要。

相关推荐
Nobody_Cares8 分钟前
JWT令牌
java
沐浴露z9 分钟前
Kafka入门:基础架构讲解,安装与使用
java·分布式·kafka
神秘的土鸡13 分钟前
从数据仓库到数据中台再到数据飞轮:我的数据技术成长之路
java·服务器·aigc·数据库架构·1024程序员节
林月明22 分钟前
【VBA】自动设置excel目标列的左邻列格式
开发语言·excel·vba·格式
vir0226 分钟前
P1928 外星密码(dfs)
java·数据结构·算法·深度优先·1024程序员节
摇滚侠32 分钟前
全面掌握PostgreSQL关系型数据库,备份和恢复,笔记46和笔记47
java·数据库·笔记·postgresql·1024程序员节
喜欢吃燃面42 分钟前
数据结构算法题:list
开发语言·c++·学习·算法·1024程序员节
。TAT。1 小时前
C++ - 多态
开发语言·c++·学习·1024程序员节
武当豆豆1 小时前
C++编程学习(第42天)
开发语言·c++·学习
eguid_12 小时前
【开源项目分享】JNSM1.2.0,支持批量管理的jar包安装成Windows服务可视化工具,基于Java实现的支持批量管理已经安装服务的可视化工具
java·开源·jar·1024程序员节·windows服务·jar包安装成服务·exe安装成服务