Java 学习系列(3):Java 集合框架详解

Java 学习系列(3):Java 集合框架详解

1. Java 集合框架概述

Java 集合框架(Java Collections Framework, JCF)提供了一组用于存储、操作和处理数据结构的类和接口,主要包括 List、Set、Map 三大核心接口。

Java 集合框架的优点:

  • 提供了通用的数据结构实现,如数组、链表、哈希表等。
  • 具备高效的算法,如排序、查找、遍历等。
  • 统一 API 设计,增强代码的可读性和复用性。

2. List 接口(有序,可重复)

List 允许元素重复,并且元素存储有序,常见实现有 ArrayListLinkedList

2.1 ArrayList(动态数组实现,查询快,增删慢)

import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("C++");
        
        System.out.println("ArrayList: " + list);
    }
}

2.2 LinkedList(链表实现,增删快,查询慢)

import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        LinkedList<Integer> list = new LinkedList<>();
        list.add(10);
        list.add(20);
        list.addFirst(5); // 在头部插入元素
        list.addLast(30); // 在尾部插入元素

        System.out.println("LinkedList: " + list);
    }
}

3. Set 接口(无序,不可重复)

Set 不能存储重复元素,常见实现有 HashSetLinkedHashSetTreeSet

3.1 HashSet(无序,基于哈希表,查找速度快)

import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<>();
        set.add("Java");
        set.add("Python");
        set.add("Java"); // 重复元素不会被添加

        System.out.println("HashSet: " + set);
    }
}

3.2 TreeSet(有序,基于红黑树,排序存储)

import java.util.TreeSet;

public class TreeSetExample {
    public static void main(String[] args) {
        TreeSet<Integer> set = new TreeSet<>();
        set.add(30);
        set.add(10);
        set.add(20);
        
        System.out.println("TreeSet (升序): " + set);
    }
}

4. Map 接口(键值对存储,Key 唯一)

Map键值对(key-value) 形式存储数据,常见实现有 HashMapLinkedHashMapTreeMap

4.1 HashMap(无序,查找速度快)

import java.util.HashMap;

public class HashMapExample {
    public static void main(String[] args) {
        HashMap<Integer, String> map = new HashMap<>();
        map.put(1, "Java");
        map.put(2, "Python");
        map.put(3, "C++");
        
        System.out.println("HashMap: " + map);
    }
}

4.2 TreeMap(有序,基于红黑树)

import java.util.TreeMap;

public class TreeMapExample {
    public static void main(String[] args) {
        TreeMap<Integer, String> map = new TreeMap<>();
        map.put(3, "C++");
        map.put(1, "Java");
        map.put(2, "Python");
        
        System.out.println("TreeMap (升序 Key): " + map);
    }
}

5. 遍历集合的几种方式

5.1 使用 for-each 遍历 List

ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");

for (String lang : list) {
    System.out.println(lang);
}

5.2 使用 Iterator 遍历 Set

import java.util.HashSet;
import java.util.Iterator;

HashSet<Integer> set = new HashSet<>();
set.add(10);
set.add(20);

Iterator<Integer> it = set.iterator();
while (it.hasNext()) {
    System.out.println(it.next());
}

5.3 使用 entrySet() 遍历 Map

import java.util.HashMap;
import java.util.Map;

HashMap<Integer, String> map = new HashMap<>();
map.put(1, "Java");
map.put(2, "Python");

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

6. 总结

本篇博客详细介绍了 Java 集合框架,包括 ListSetMap 及其常见实现,并演示了如何遍历集合。

在接下来的文章中,我们将深入学习 Java 异常处理机制,敬请期待!


下一期:《Java 学习系列(4):Java 异常处理机制》

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值