软件测试修炼之路 A Tester

Java中的集合框架

2016-04-13
Dex

Java中的集合框架概述

集合概述

集合的概念

现实生活中:很多的事物凑在一起

数学的集合:具有共同属性的事物的集体

Java中的集合类:是一种工具类,就是容器,储存任意数量的具有共同属性的对象

集合的作用

  • 在类的内部,对数据进行组织;
  • 简单而快速的搜索大数量的条目;
  • 有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素;
  • 有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型。

与数组的对比——为何选择集合而不是数组

  • 数组的长度是固定的。集合的长度或者说是容量是可以动态扩展的。
  • 数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象。

Java集合框架体系结构

Collection接口和Map接口

List、Queue和Set是三个子接口

ArrayList、LinkedList、HashSet和HashMap都是实现类。

Collection可以比作单身宿舍;Map中存储的是一对对的夫妇,都是成对出现的。

ArrayList、HashSet和HashMap是使用频率最高的三个实现类。

Collection接口 & List 接口简介

Collection接口、子接口以及实现类

Collection接口

  • 是List、Set和Queue接口的父接口
  • 定义了可用于操作List、Set和Queue的方法——增删改查

具体api参考JDK中的api文档。

List接口及其实现类——ArrayList

  • List是元素有序并且可以重复的集合,被称为序列
  • List可以精确的控制每个元素的插入位置,或删除某个位置元素
  • ArrayList——数组序列,是List的一个重要实现类
  • ArrayList底层是由数组实现的

Map & HashMap简介

Map接口

  • Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找alue
  • Map中的键值对以Entry类型的对象实例形式存在
  • 键(key值)不可重复,value值可以
  • Map支持泛型,形式如:Map<K, V>

HashMap类

  • HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现
  • HashMap中的Entry对象是无须排列的
  • Key值和alue值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)

Collections工具类

是Java集合框架中,用来操作集合对象的工具类

也是Java集合框架的成员

sort()(排序)方法

Comparable和Comparator

Comparable接口——可比较的

  • 实现该接口表示:这个类的实例可以比较大小,可以进行自然排序
  • 定义了默认的比较规则
  • 其实现类需实现compareTo()方法
  • compareTo()方法返回正数表示大,负数表示小,0表示相等

Comparator接口——比较工具接口

  • 用于定义临时比较规则,而不是默认比较规则
  • 其实现类需要compare()方法
  • Comparator和Comparable都是Java集合框架的成员

Similar Posts

下一篇 MarkDown语法

Comments