Java集合之整体概述

Java集合与数组是相似的,都用于保存一组对象,并提供一些操作来管理对象。然而,不同于数组的是,当添加或删除元素时集合的大小是可以自动变化的。Java集合不可以存放基本类型数据(比如int,long或double等),而是存放基本类型数据的包装类。

设计目标

Java 集合最核心的目标就是提供一套“小而美”的API,方便开发人员使用。为了保证核心接口足够小,顶层接口(指 CollectionMap)不会区分集合是否可变、是否可修改、是否可改变大小等细节。另外,接口定义的部分方法是可选的,如果实现时不支持该方法,直接抛出UnsupportedOperationException。

为了保证核心接口中方法足够少,核心接口应该只包含以下情况中的方法:

  • 基本操作,每个接口都会使用到的操作,比如添加、删除、插入、查找等
  • 由于非常严重的性能问题,某个重要的实现类要重写的方法

集合类型

Java 将集合分成两大类:

  • 最基本的 Collection 接口类
  • 不算真正意义上集合的 Map 接口类

Map 加入到集合框架中,大概是考虑到 Map 虽然是 key-value 形式,但是 Map 具有集合性质的操作,可以把 Map 当作集合来处理,即如果暂时忽略key与value之间的映射,那么key和value完全可以看作是两个集合。

Collection 接口类又可以分为:

  • List 接口
  • Set 接口
  • Queue 接口

综合起来,Java集合可以分为以下四种类型:

  • 保持插入顺序的List集合
  • 无序但不重复的Set集合
  • 带有优先顺序的Queue集合,比如FIFO。
  • 带有索引的Map集合

猜你喜欢

转载自www.cnblogs.com/bluemilk/p/10667422.html