Java織程教术基础 第十一章Java集合框架 索迪教育
索迪教育 Java编程技术基础 第十一章 Java 集合框架
上章回顾 >了解多线程的概念 >掌握如何创建线程 >掌握实现线程同步的方法 >了解死锁的概念 >掌握使用wait和 notify在线程之间进行通信 索迪教育
索迪教育 上章回顾 ➢ 了解多线程的概念 ➢ 掌握如何创建线程 ➢ 掌握实现线程同步的方法 ➢ 了解死锁的概念 ➢ 掌握使用 wait 和 notify 在线程之间进行通信
我们的目标 >解释集合框架的体系结构 >使用集合类和接口 索迪教育
索迪教育 我们的目标 ➢ 解释集合框架的体系结构 ➢ 使用集合类和接口
Java2集合框架简介 >集合 将多个元素组成一个单元的对象 ■用于存储、检索、操纵和传输数据 >集合框架 ■提供了一组精心设计的接口和类,它们以单个单元 即集合的形式存储和操作数据组 计算机数据结构的许多抽象数据类型如映射(map) 集(set)、列表(list)、树(tree)、数组(arry)、散列 表( hashtable)和其它集合,在框架中提供了方便的 应用接口 ■组件包括接口、实现和算法 索迪教育
索迪教育 Java2 集合框架简介 ➢ 集合 ◼ 将多个元素组成一个单元的对象 ◼ 用于存储、检索、操纵和传输数据 ➢ 集合框架 ◼ 提供了一组精心设计的接口和类,它们以单个单元 即集合的形式存储和操作数据组 ◼ 计算机数据结构的许多抽象数据类型如映射(map)、 集(set)、列表(list)、树(tree)、数组(array)、散列 表(hashtable)和其它集合,在框架中提供了方便的 应用接口 ◼ 组件包括接口、实现和算法
集合接口的体系结构 >集合框架由一组用来操作集合对象的接口组成。不同 接口描述不同类型的组 >集合接口的体系结构如下图所示: ollection- terator 删D Set 一 istlfterator-SortedMa 索迪教育
索迪教育 集合接口的体系结构 ➢ 集合框架由一组用来操作集合对象的接口组成。不同 接口描述不同类型的组 ➢ 集合接口的体系结构如下图所示: Collection Set List SortedSet Map SortedMap Iterator ListIterator
集合接口的特点 Co∥ ection接口是一组允许重复的对象。 Set接口继承co∥ lection,但不允许重复。 Sortedset接口继承Set,但升序排列 List接口继承Co∥ ection,允许重复,并引入位置 下标。 terator接口是一组用于列举的对象 Listiterator接口继承 terator,引入位置下标 支持双向访问 Map接口既不继承Set也不继承Co∥ ection,是键 值关联的实现 SortedMap接口继承Map,但升序排列 索迪教育
索迪教育 集合接口的特点 ➢ Collection 接口是一组允许重复的对象。 ➢ Set 接口继承 Collection,但不允许重复。 ➢ SortedSet 接口继承 Set,但升序排列 ➢ List 接口继承 Collection,允许重复,并引入位置 下标。 ➢ Iterator 接口是一组用于列举的对象 ➢ ListIterator 接口继承 Iterator,引入位置下标, 支持双向访问 ➢ Map 接口既不继承 Set 也不继承 Collection,是键 -值关联的实现 ➢ SortedMap 接口继承 Map,但升序排列
co∥ lection接口 >集合框架的根 >所有集合都通用的方法为: 方法 返回 描述 contains( object)| boolean判别当前集合是否包含指定对象 equals( Object)| boolean判别当前集合是否与指定对象相同」 iterator Iterator返回一个可向后检索的迭代集合 sized int 返回元素总数 hashcodeo int 返回 hash code(混列码)数 clear void 清除所有元素 add(object) boolean添加元素 adA( Collection) boolean把指定集合所有元素加到当前集合 索迪教育
索迪教育 Collection 接口 ➢ 集合框架的根 ➢ 所有集合都通用的方法为: 方法 返回 描述 contains(Object) boolean 判别当前集合是否包含指定对象 equals(Object) boolean 判别当前集合是否与指定对象相同 iterator() Iterator 返回一个可向后检索的迭代集合 size() int 返回元素总数 hashcode() int 返回hash code(混列码)数 clear() void 清除所有元素 add(Object) boolean 添加元素 addAll(Collection) boolean 把指定集合所有元素加到当前集合
/ erato接口 >该接口定义了如下功能: 通过调用next()方法,可以得到序列中的下一元素;如果 序列处于初始状态则返回第一个元素 通过调用 hasNext(0)方法,可以查看序列的后面是否还有 元素 通过调用 remove()方法,可以把序列上当前元素删除,如 果序列不支持这一方法,会抛出下面的异常: Java. lang. UnsupportedOperation Exception Collection collection= Iterator iterator= collection. iterator; while(iterator. hasNextoi Object element= iterator nexto; if (removalCheck(element)) iterator remove; 索迪教育
索迪教育 Iterator 接口 ➢ 该接口定义了如下功能: ◼ 通过调用 next() 方法,可以得到序列中的下一元素;如果 序列处于初始状态则返回第一个元素 ◼ 通过调用 hasNext() 方法,可以查看序列的后面是否还有 元素 ◼ 通过调用 remove() 方法,可以把序列上当前元素删除,如 果序列不支持这一方法,会抛出下面的异常: Java.lang.UnsupportedOperationException Collection collection = ...; Iterator iterator = collection.iterator(); while (iterator.hasNext()){ Object element = iterator.next(); if (removalCheck(element)){iterator.remove();} }
set接口 >扩展了Co∥ ection接口 >不允许重复元素 >未定义自己的任何方法 >必须对ad()、 equals(和 hashcode(方法添加 了限制 Hash set和 Treeset是两个set实现类 ■ Hash set实质上是Set对 Hash Map适配 索迪教育
索迪教育 Set 接口 ➢ 扩展了 Collection 接口 ➢ 不允许重复元素 ➢ 未定义自己的任何方法 ➢ 必须对 add()、equals() 和 hashcode() 方法添加 了限制 ➢ HashSet 和 TreeSet 是两个 Set 实现类 ◼ HashSet实质上是Set对HashMap适配
Sorted set接口 >扩展了Set接口 >元素按升序排序 >抛出的重要异常为: ClasscastException 不相容 a NullPointerException 不能为 索迪教育
索迪教育 SortedSet 接口 ➢ 扩展了 Set 接口 ➢ 元素按升序排序 ➢ 抛出的重要异常为: ◼ ClassCastException 不相容 ◼ NullPointerException 不能为空