Java集合基础篇(1)-基本介绍

本章介绍最基本的概念,和最常用的集合接口/类。

为什么要有Java集合?
在开发过程中, 当我们需要对一组数据进行管理的时候, 我们需要有一种数据结构来保存这一组对象. 如果没有集合, 我们可以用数组来实现.
但用数组来实现, 问题在于, 数组一旦定义, 其元素个数是固定, 不能动态增长。 还有,我要实现稍微复杂点的算法, 使用数组也是很难实现的。
于是就有了集合。
Java提供了一套完整强大的集合框架, 使我们能非常方便操作一组数据。大大提高开发效率。

Java有两种类型的集合,一种是Collection, 一种是Map。
简单示意如下图,(完整的类关系图比这要复杂。)
Java集合基础篇(1)-基本介绍
虚线方框表示是接口,实线方框表示是实现类。

常用集合接口说明:

  • Collection表示一组对象的集合;
  • Map以按键/值对的形式存储数据。
  • Set和List都是表示一组对象, 其中Set中元素是没有重复的; List中元素是有序的, 但有可能有重复。

常用集合类说明:

  • ArrayList: List的实现, 相当于一个大小可变的动态数组.
  • LinkedList: List的双向列表实现, 高效的插入和删除。
  • Vector:其数据结构和ArrayList差不多。是线程安全的。过时的类,不建议使用。
  • HashSet: 实现Set, 元素是无序、不允许有重复的。
  • TreeSet: 提供有序的Set实现,元素不允许有重复,但是是有序的,按照升序排列。
  • LinkedHashSet: 实现Set, 元素不允许有重复的, 但是是有序的, 其顺序和插入时一至。
  • HashMap: Map的通用实现,键/值对的形式存储数据。
  • TreeMap: 有序的Map实现,按照键来排序。
  • HashTable: 其实现和HashMap差不多。是线程安全的。过时的类,不建议使用。
  • LinkedHashMap: 有序的Map实现, 和插入时的顺序一样。

下一章将介绍上面常用接口/类的用法。

Java集合基础篇(1)-基本介绍