`

java 集合框架的概要介绍

阅读更多

来自:http://www.computersci.net/articles/jdk1.2/docs/guide/collections/reference.html

集合框架包括:

  • Collection 接口 - 集合的主要操作方法。
    • Collection - 一组对象。没有任何有关集合的顺序(如果有)或其中是否包含重复元素的假定。
    • Set - 常见集的抽象。不允许有重复元素,可以排序或不排序。它扩展 Collection 接口。
    • List - 已排序集合,也称为序列。一般允许有重复,允许按位置访问。它扩展 Collection 接口。
    • Map - 从关键字到值的映射。每个关键字最多能映射一个值。
    • SortedSet - 其元素自动排序的集合,排序依据是其自然顺序(参见 Comparable 接口),或者是创建 SortedSet 实例时所提供的 Comparator 对象。它扩展 Set 接口。
    • SortedMap - 将映射关系自动按关键字排序的映射,排序依据是关键字的自然顺序或创建 SortedMap 实例时所提供的比较器。扩展 Map 接口。
  • General-purpose 实现 - collection 接口的主要实现。
    • HashSet - Set 接口的 hash 表实现,是 Set 接口最好的全面实现。
    • TreeSet SortedSet 接口的红-黑树形结构实现。
    • ArrayList - List 接口的大小可变数组实现(实质上为非同步 Vector),是 List 接口最好的全面实现。
    • LinkedList - List 接口的双重链接列表实现。如果经常在列表内插入或删除元素,使用它即可提供比 ArrayList 实现更好的性能。对于双端队列 (deques) 很有用。
    • HashMap - Map 接口的 hash 表实现(实质上是一种支持 null 关键字和值的非同步 Hashtable,是 Map 接口最好的全面实现。
    • TreeMap - SortedMap 接口的红-黑树形结构实现。
  • Wrapper 实现 - 用于与其它实现配合使用的功能增强实现。只能通过 static factory 方法访问。
    • Collections.unmodifiableInterface - 返回不可修改的指定集合视图。如果用户试图修改,将抛出 UnsupportedOperationException 异常。
    • Collections.synchronizedInterface - 返回由指定集合(通常为非同步)支持的同步集合。 只要所有对支持集合的访问都通过已返回集合进行,就能保证线程安全。
  • Convenience 实现 - collection 接口的高性能“微实现”。
    • Arrays.asList - 允许将数组视为列表。
    • EMPTY_SETEMPTY_LIST - 表示空集和空列表(不可变)的常量。
    • singleton - 返回仅包含指定对象的不可变“单”集。
    • nCopies - 返回包含指定对象 n 份副本的不可变列表。
  • Legacy 实现 - 较旧的 collection 类,已经过更新以实现 collection 接口。
    • Vector - List 接口的同步大小可变数组实现,具有附加的“legacy 方法”。
    • Hashtable -不允许 null 关键字或值的 Map 接口的同步 hash 表实现,具有附加的“legacy 方法”。
  • Special Purpose 实现
    • WeakHashMap - Map 接口的一种实现,仅将弱引用存储到其关键字中。由于仅存储弱引用,因此当关键字不再在 WeakHashMap 之外被引用时,即允许删除关键字-值对。该类提供了最简单的利用弱引用功能的方式。它对实现“类注册服务程序”式的数据结构很有用。当任何线程都不能达到其关键字时,其中的项实用程序将消失。
  • Abstract 实现 - collection 接口的部分实现,有助于自定义实现。
  • 算法
    • sort(List) - 使用合并排序算法将列表排序。与高质量的 quicksort 相比,它提供了中等的性能,保证了 O(n*log n) 性能(与 quicksort 不同)和稳定性(与 quicksort 不同)。稳定排序中不对相同元素进行重新排序。
    • binarySearch(List, Object) - 使用二进制搜索算法在有序列表中搜索元素。
    • reverse(List) - 使列表中元素的顺序倒转。
    • shuffle(List) - 随机排列列表中的元素。
    • fill(List, Object) - 使用指定值覆盖列表中的每一个值。
    • copy(List dest, List src) - 将源列表复制到目的列表中。
    • min(Collection) - 返回集合中最小的元素。
    • max(Collection) - 返回集合中最大的元素。
  • 基础结构
    • 迭代器 - 类似于常见的 Enumeration 接口,但功能更强大,具有改进的方法名称。
      • Iterator - 除具 Enumeration 接口的功能外,还允许用户使用定义好且有用的语义从支持集合中删除元素。
      • ListIterator - 用于列表的迭代器。除具 Iterator 接口的功能外,还支持双向迭代、元素替换、元素插入和索引检索。
    • 顺序
      • Comparable - 将自然顺序赋予实现它的类。自然顺序可用于将列表排序,或者保持有序集或映射中的顺序。许多类都已经过更新以实现这个接口。
      • Comparator - 表示顺序关系,可用于将列表排序,或者保持有序集或映射中的顺序。可以覆盖类型的自然顺序,或对没有实现 Comparable 接口的对象排序。
    • 运行异常
      • UnsupportedOperationException - 当调用集合不支持的可选操作时产生。
      • ConcurrentModificationException - 如果在迭代过程中支持集合被意外地修改,则迭代器和列表迭代器将产生该异常。如果意外地修改了支持列表,列表的子列表视图也会产生该异常。
  • 数组实用程序
    • Arrays - 包含用于排序、搜索、比较和填充基本类型数组和对象数组的静态方法。
<!-- Body text ends here --><!-- ============================================================== -->
分享到:
评论

相关推荐

    Java Android开发:深入解析Java集合框架及其应用场景

    内容概要:本文详细介绍了Java集合框架的重要性和在Android开发中的应用。首先,阐述了集合框架的基本概念,包括接口(Collection、Set、List、Map)和其实现类(ArrayList、LinkedList、HashSet、TreeSet、HashMap...

    Java中的集合框架Markdown全系列笔记

    内容概要:压缩包中含有Java中的集合框架Markdown全系列笔记,包括配图 能学到什么:在学习Java的朋友,可以从本文教程中学习到Java中最常用的集合框架,HashMap,ArrayList,HashSet等,同时又基于代码有一定层次的...

    Java面向对象编程与集合框架:Map接口与泛型的应用解析

    重点探讨了 Java集合框架中的 Map接口及其主要实现类(HashMap、TreeMap、LinkedHashMap),并通过示例代码展示它们的使用方法。文章还深入讨论了泛型在 Map中的应用及其优缺点,最后介绍了一些高级用法,如自定义 ...

    java的概要介绍与分析

    Java是一种广泛使用的编程语言,其灵活性和实用性已经得到了全球...从基础的Java语法、面向对象编程,到高级的API使用、集合框架、多线程编程等,都有大量的教程、书籍和在线课程可供学习。此外,Java社区也非常活

    最新java知识点概要.pdf

    Java 是一种广泛应用于互联网领域的编程语言,其设计目标是实现跨平台的可移植性。...在实际开发中,开发者还需要了解异常处理、集合框架、IO流、多线程并发、网络编程等更高级的主题,以构建更复杂的应用。

    Java 编程语言 函数式编程 集合框架 技术关键词: Stream API 中间操作 终结操作 惰性求值 并行

    Java Stream API 是 Java 8 引入的强大工具,提供了一种高效、简洁的方式来处理集合和数组数据。通过支持中间操作(如 filter()、map())和终结操作(如 forEach()、collect()),开发者可以以声明性方式进行数据...

    Java核心技术 卷1 基础知识 原书第9版

    《Java核心技术·卷1:基础知识(原书第9版)》共14章。第1章概述了Java语言与其他程序设计语言不同的性能...第13章讲解Java平台的集合框架;第14章介绍了多线程。本书最后还有一个附录,其中列出了Java语言的保留字。

    Java中数组反转的方法及其效率对比与应用

    内容概要:本文档详细介绍了在Java中反转数组的三种常见方法,分别是使用额外数组、双指针技术和利用Java集合框架。每种方法都给出了具体实现代码并解释了各自的优缺点,特别是双指针技术在不占用额外空间的同时保持...

    corejava.zip

    第9章讨论Java平台的集合框架;第10章介绍GUI程序设计,讨论如何建立窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格 式化文本,以及如何显示图像;第11章详细讨论抽象窗口工具包的事件模型;第...

    涵盖了 Java 基础、集合、源码、并发、虚拟机、框架、数据库、网络编程、设计模式、新特性和数据结构等多个知识领域的面试突击

    Java基础知识:数据类型、关键字、面向对象、集合框架、异常处理等 Java核心技术:I/O、多线程、网络编程、反射、泛型等 Java虚拟机:内存模型、垃圾收集器、类加载机制等 Java企业级开发:Spring、Hibernate、MyBatis等...

    spring的概要介绍与分析

    ### Spring框架概要介绍与分析 #### Spring框架概述 Spring框架是一个开源的Java应用框架,其设计目标是为了简化企业级Java应用程序的开发过程。自2002年首次发布以来,Spring凭借其强大的功能、模块化的设计以及...

    JAVA手机程式设计入门.rar

    这一章主要讨论Java集合框架,包括ArrayList、LinkedList、HashMap等数据结构的使用,以及迭代器和泛型的概念。学习者将了解到如何有效地存储和操作数据,这对于开发任何Java程序都至关重要。 4. **ch-04.pdf - ...

    Java核心技术卷一-完整书签-pdf

    Java领域最有影响力和价值的著作之一,拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与...第13章讲解Java平台的集合框架;第14章介绍了多线程。本书最后还有一个附录,其中列出了Java语言的保留字。

    Java核心技术要点详解

    内容概要:本文介绍了 Java 编程语言的关键概念和技术要素,覆盖基本语法到高级特性,如面向对象编程、泛型、异常处理、集合框架、并发控制和输入/输出操作等等,适合初学者和有一定经验开发者回顾提升技能。...

    java核心技术卷1

    如Java语言的性能特点、如何下载安装JDK及设置开发环境、变量、循环和函数的基础知识、类与封装的概念、继承与接口的使用、内部类的特性、图形...处理机制、泛型程序设计概览、Java集合框架的深入解析以及多线程编程等...

    java八股文-Java面试常见知识点与核心技术详解

    内容概要:java八股文,本文全面介绍了Java面试中常见的基础和技术要点,涵盖Java基础知识、面向对象特性、关键字、集合框架、多线程、异常处理、JVM内存结构和垃圾回收机制、IO流等多个方面的内容。每部分内容均...

    Java核心技术卷一基础知识第10版

    第9章讨论Java平台的集合框架;第10章介绍GUI程序设计,讨论如何建立窗口、如何在窗口中绘图、如何利用几何图形绘图、如何采用多种字体格式化文本,以及如何显示图像;第11章详细讨论抽象窗口工具包的事件模型;第12...

Global site tag (gtag.js) - Google Analytics