Java集合框架:你的数据收纳神器

39 阅读2分钟

Java集合框架:你的数据收纳神器

各位码友们,今天咱们来聊聊Java中的集合框架(Collections Framework)——这玩意儿简直就是程序员的"收纳整理大师"!

什么是集合框架?

想象一下,你要整理一堆乱七八糟的东西:有的需要按顺序摆放,有的需要快速查找,有的还不能重复。Java集合框架就是帮你做这件事的超级工具箱!

三大门派:List、Set、Map

1. List(列表)- 像排队买奶茶

List就像排队买奶茶,讲究先来后到:

List<String> milkTeaQueue = new ArrayList<>();
milkTeaQueue.add("珍珠奶茶");
milkTeaQueue.add("芋圆奶茶");
milkTeaQueue.add("布丁奶茶");

// 永远按顺序来!
System.out.println(milkTeaQueue.get(0)); // 输出:珍珠奶茶

特点

  • 有序排队,先来后到
  • 可以重复(就像你可以点两杯一样的奶茶)
  • 主要实现:ArrayList(随机访问快)、LinkedList(插入删除快)

2. Set(集合)- 像微信好友列表

Set就像你的微信好友列表,不能有重复好友:

Set<String> wechatFriends = new HashSet<>();
wechatFriends.add("张三");
wechatFriends.add("李四");
wechatFriends.add("张三"); // 这个不会重复添加!

System.out.println(wechatFriends.size()); // 输出:2

特点

  • 不允许重复元素
  • 不保证顺序(HashSet)或自动排序(TreeSet)
  • 主要实现:HashSet、TreeSet

3. Map(映射)- 像通讯录

Map就像手机通讯录,通过名字找电话:

Map<String, String> phoneBook = new HashMap<>();
phoneBook.put("张三", "13800138000");
phoneBook.put("李四", "13900139000");

// 通过名字找电话
System.out.println(phoneBook.get("张三")); // 输出:13800138000

特点

  • 键值对存储(key-value)
  • 键不能重复,值可以重复
  • 主要实现:HashMap、TreeMap

实用小技巧

填充集合的妙招

有时候我们需要快速创建测试数据:

List<String> names = Arrays.asList("张三", "李四", "王五");
Set<Integer> numbers = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));

函数式操作(Java 8+)

现代Java提供了更优雅的操作方式:

List<String> names = Arrays.asList("张三", "李四", "王五");
names.stream()
    .filter(name -> name.startsWith("张"))
    .forEach(System.out::println);

选择困难症?我来帮你!

  • 需要有序且可重复?选List!
  • 需要去重不关心顺序?选Set!
  • 需要通过键快速查找?选Map!
  • 需要排序?用TreeSet或TreeMap!

历史小彩蛋

Java 1.0/1.1时代还有Vector、Hashtable这些老古董,虽然现在还能用,但就像翻盖手机一样,建议用新的ArrayList和HashMap替代它们!

总结

Java集合框架就像你的智能收纳系统:

  • List帮你有序排列
  • Set帮你去重整理
  • Map帮你快速查找

记住:选择合适的集合类型,能让你的代码既高效又优雅。下次整理数据时,想想你要的是什么效果,然后pick合适的集合工具吧!