高效编程:Java 集合框架

大家好!我是小欧!
今天我们就开始进入Java进阶学习啦!恭喜关注我的朋友掌握了Java的基础知识点,现在我们来聊聊 Java 中一个非常重要的部分——集合框架。Java 集合框架是处理一组数据的强大工具,让我们能够方便地存储、操作和传输数据。无论你是初学者还是有经验的开发者,掌握集合框架都能让你的编程效率大大提升。

什么是集合框架?

集合框架是一套用来存储和操作数据结构的类和接口。它主要包括以下三大类:

  1. List:有序集合,允许重复元素。
  2. Set:无序集合,不允许重复元素。
  3. Map:键值对集合,每个键只能对应一个值。

List:有序且可重复

ArrayList

ArrayList 是最常用的 List 实现类之一。它的底层是动态数组,能够根据需要自动调整大小。适合频繁读取数据的场景,因为它的随机访问速度很快。

import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        // 创建一个ArrayList
        ArrayList<String> fruits = new ArrayList<>();
        
        // 添加元素
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
        
        // 输出所有元素
        System.out.println("Fruits: " + fruits);
        
        // 获取并输出第一个元素
        System.out.println("First fruit: " + fruits.get(0));
    }
}

输出结果:

Fruits: [Apple, Banana, Orange]
First fruit: Apple

LinkedList

LinkedList 是另一种 List 实现类,它的底层是双向链表。适合频繁插入和删除操作的场景。

import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        // 创建一个LinkedList
        LinkedList<String> fruits = new LinkedList<>();
        
        // 添加元素
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
        
        // 输出所有元素
        System.out.println("Fruits: " + fruits);
        
        // 移除并输出第一个元素
        System.out.println("Removed fruit: " + fruits.removeFirst());
        System.out.println("Fruits after removal: " + fruits);
    }
}

输出结果:

Fruits: [Apple, Banana, Orange]
Removed fruit: Apple
Fruits after removal: [Banana, Orange]

Set:无序且不重复

HashSet

HashSet 是最常用的 Set 实现类之一。它的底层是哈希表,不保证集合的迭代顺序。

import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        // 创建一个HashSet
        HashSet<String> fruits = new HashSet<>();
        
        // 添加元素
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
        fruits.add("Apple"); // 尝试添加重复元素
        
        // 输出所有元素
        System.out.println("Fruits: " + fruits);
    }
}

输出结果:

Fruits: [Banana, Apple, Orange]

TreeSet

TreeSet 是另一个常用的 Set 实现类,它的底层是红黑树,保证集合中的元素是有序的。

import java.util.TreeSet;

public class TreeSetExample {
    public static void main(String[] args) {
        // 创建一个TreeSet
        TreeSet<String> fruits = new TreeSet<>();
        
        // 添加元素
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
        
        // 输出所有元素
        System.out.println("Fruits: " + fruits);
    }
}

输出结果:

Fruits: [Apple, Banana, Orange]

Map:键值对的集合

HashMap

HashMap 是最常用的 Map 实现类之一。它的底层是哈希表,不保证键值对的顺序。

import java.util.HashMap;

public class HashMapExample {
    public static void main(String[] args) {
        // 创建一个HashMap
        HashMap<String, Integer> fruitPrices = new HashMap<>();
        
        // 添加键值对
        fruitPrices.put("Apple", 1);
        fruitPrices.put("Banana", 2);
        fruitPrices.put("Orange", 3);
        
        // 输出所有键值对
        System.out.println("Fruit prices: " + fruitPrices);
        
        // 获取并输出某个键的值
        System.out.println("Price of Apple: " + fruitPrices.get("Apple"));
    }
}

输出结果:

Fruit prices: {Apple=1, Banana=2, Orange=3}
Price of Apple: 1

TreeMap

TreeMap 是另一个常用的 Map 实现类,它的底层是红黑树,保证键值对是有序的。

import java.util.TreeMap;

public class TreeMapExample {
    public static void main(String[] args) {
        // 创建一个TreeMap
        TreeMap<String, Integer> fruitPrices = new TreeMap<>();
        
        // 添加键值对
        fruitPrices.put("Apple", 1);
        fruitPrices.put("Banana", 2);
        fruitPrices.put("Orange", 3);
        
        // 输出所有键值对
        System.out.println("Fruit prices: " + fruitPrices);
    }
}

输出结果:

Fruit prices: {Apple=1, Banana=2, Orange=3}

小结

Java 集合框架为我们提供了丰富的数据结构,帮助我们高效地处理各种数据。掌握这些集合类的使用方法和适用场景,能让我们的代码更简洁、高效。希望这篇文章能帮你更好地理解和运用 Java 集合框架,让你的编程之路更加顺畅!
如果你还有什么问题或建议,欢迎在评论区留言。关注我后面我将会详细讲解各个集合哦!

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爬行系

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值