Skip to content

集合框架

Java 示例

以下是Java中集合框架的示例代码:

java
// title: 集合框架
import java.util.*;
import java.util.stream.Collectors;

public class CollectionsExample {
    public static void main(String[] args) {
        // 1. List接口示例
        System.out.println("1. List接口示例:");
        
        // ArrayList示例
        List<String> arrayList = new ArrayList<>();
        arrayList.add("Java");
        arrayList.add("Python");
        arrayList.add("C++");
        arrayList.add("JavaScript");
        System.out.println("ArrayList:" + arrayList);
        
        // 访问元素
        System.out.println("索引1的元素:" + arrayList.get(1));
        
        // 修改元素
        arrayList.set(2, "C#");
        System.out.println("修改后的ArrayList:" + arrayList);
        
        // 删除元素
        arrayList.remove(3);
        System.out.println("删除后的ArrayList:" + arrayList);
        
        // LinkedList示例
        List<String> linkedList = new LinkedList<>();
        linkedList.add("Red");
        linkedList.add("Green");
        linkedList.add("Blue");
        System.out.println("LinkedList:" + linkedList);
        
        // 2. Set接口示例
        System.out.println("\n2. Set接口示例:");
        
        // HashSet示例(无序)
        Set<String> hashSet = new HashSet<>();
        hashSet.add("Apple");
        hashSet.add("Banana");
        hashSet.add("Cherry");
        hashSet.add("Apple"); // 重复元素不会被添加
        System.out.println("HashSet:" + hashSet);
        
        // TreeSet示例(有序)
        Set<String> treeSet = new TreeSet<>();
        treeSet.add("Orange");
        treeSet.add("Apple");
        treeSet.add("Banana");
        System.out.println("TreeSet:" + treeSet);
        
        // 3. Map接口示例
        System.out.println("\n3. Map接口示例:");
        
        // HashMap示例
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("张三", 25);
        hashMap.put("李四", 30);
        hashMap.put("王五", 28);
        System.out.println("HashMap:" + hashMap);
        
        // 访问元素
        System.out.println("李四的年龄:" + hashMap.get("李四"));
        
        // 遍历Map
        System.out.println("遍历Map:");
        for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
        
        // TreeMap示例(按键排序)
        Map<String, Integer> treeMap = new TreeMap<>();
        treeMap.put("C", 3);
        treeMap.put("A", 1);
        treeMap.put("B", 2);
        System.out.println("TreeMap:" + treeMap);
        
        // 4. 队列和栈示例
        System.out.println("\n4. 队列和栈示例:");
        
        // Queue(队列)示例
        Queue<String> queue = new LinkedList<>();
        queue.offer("First");
        queue.offer("Second");
        queue.offer("Third");
        System.out.println("队列元素:" + queue);
        System.out.println("出队元素:" + queue.poll());
        System.out.println("队列剩余元素:" + queue);
        
        // Deque(双端队列)用作栈
        Deque<String> stack = new ArrayDeque<>();
        stack.push("Top");
        stack.push("Middle");
        stack.push("Bottom");
        System.out.println("栈元素:" + stack);
        System.out.println("出栈元素:" + stack.pop());
        System.out.println("栈剩余元素:" + stack);
        
        // 5. 集合操作示例
        System.out.println("\n5. 集合操作示例:");
        
        // 过滤和转换
        List<String> filteredList = arrayList.stream()
                .filter(s -> s.length() > 3)
                .map(String::toUpperCase)
                .collect(Collectors.toList());
        System.out.println("长度大于3且转为大写的元素:" + filteredList);
        
        // 计算总和
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
        int sum = numbers.stream().mapToInt(Integer::intValue).sum();
        System.out.println("数字总和:" + sum);
        
        // 查找最大值
        Optional<Integer> max = numbers.stream().max(Integer::compare);
        System.out.println("最大值:" + max.orElse(0));
        
        // 6. 不可变集合示例
        System.out.println("\n6. 不可变集合示例:");
        
        // 创建不可变List
        List<String> immutableList = List.of("A", "B", "C");
        System.out.println("不可变List:" + immutableList);
        
        // 创建不可变Set
        Set<String> immutableSet = Set.of("X", "Y", "Z");
        System.out.println("不可变Set:" + immutableSet);
        
        // 创建不可变Map
        Map<String, Integer> immutableMap = Map.of("One", 1, "Two", 2, "Three", 3);
        System.out.println("不可变Map:" + immutableMap);
    }
}

说明

该示例展示了不同语言中集合框架的基本用法和常见操作。

主要功能

  • 请根据实际代码内容添加功能说明

使用场景

  • 请根据实际代码内容添加使用场景

相关链接