Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 第四章:集合框架

第四章:集合框架

4.1 集合接口

概述

Java集合框架(Java Collections Framework, JCF)提供了一套标准化的接口和类,用于存储和操作数据集合。集合接口是框架的核心,定义了集合的基本行为和操作方式。通过统一的接口设计,开发者可以更灵活地选择适合的集合实现类。

核心接口

Java集合框架中定义了以下核心接口:

  1. Collection接口
    所有集合类的根接口,定义了集合的基本操作,如添加、删除、遍历等。
    子接口包括:

    • List:有序、可重复的集合。
    • Set:无序、不可重复的集合。
    • Queue:队列,支持先进先出(FIFO)或优先级排序。
  2. Map接口
    独立于Collection接口,表示键值对(Key-Value)的映射关系。
    特点:

    • 键(Key)唯一,值(Value)可重复。
    • 常用实现类:HashMap、TreeMap、LinkedHashMap。
  3. Iterable接口
    所有集合类通过实现Iterable接口支持增强型for循环(for-each)遍历。

常用方法

以下是Collection和Map接口的常用方法示例:

Collection接口方法

boolean add(E e);          // 添加元素
boolean remove(Object o);   // 删除元素
int size();                // 返回集合大小
boolean isEmpty();         // 判断集合是否为空
Iterator<E> iterator();    // 返回迭代器

Map接口方法

V put(K key, V value);     // 添加键值对
V get(Object key);         // 根据键获取值
V remove(Object key);      // 删除键值对
Set<K> keySet();           // 返回所有键的集合

接口关系图

classDiagram
    Iterable <|-- Collection
    Collection <|-- List
    Collection <|-- Set
    Collection <|-- Queue
    Map <|-- SortedMap

选择接口的原则

  1. 是否需要有序:
    • 有序:List(如ArrayList、LinkedList)。
    • 无序:Set(如HashSet)。
  2. 是否需要键值对:
    • 是:选择Map接口的实现类。
  3. 是否需要线程安全:
    • 是:使用Collections.synchronizedXXX()包装或并发集合类(如ConcurrentHashMap)。

示例代码

// 使用List接口
List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
System.out.println(list);  // 输出: [Java, Python]

// 使用Map接口
Map<Integer, String> map = new HashMap<>();
map.put(1, "One");
map.put(2, "Two");
System.out.println(map.get(1));  // 输出: One

总结

集合接口是Java集合框架的基础,通过统一的接口设计实现了数据存储的灵活性和扩展性。理解接口的层次结构和核心方法,是高效使用集合框架的关键。

Last Updated:: 3/27/25, 12:48 PM