成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)CollectionFramework

Collections Overview °集合( Collection)是一个对象的容器,可以存 放对象,便于组织和管理对象 java.util包中定义了各种用于集合操作的类 和接口,这些类和接口构成了Java语言的集 框架( Collection framework) 集合框架中定义了接口对常用的集合类型进 行抽象,还提供了一些优化的对接口的实现 类,简化程序设计
Collections Overview • 集合(Collection)是一个对象的容器,可以存 放对象,便于组织和管理对象 • java.util包中定义了各种用于集合操作的类 和接口,这些类和接口构成了Java语言的集 合框架(Collection Framework) • 集合框架中定义了接口对常用的集合类型进 行抽象,还提供了一些优化的对接口的实现 类,简化程序设计

Collection Framework 根据不同类型的集合的特点和用途,集合框 架在设计的时候将集合分为以下三种类型: (1)数学概念中的集合(Set)-以无序的方式 容纳对象,并且任意两个对象均不相同 2)列表Lis)以一定的顺序容纳对象,能 够对容纳的对象进行随机存取 (3)映射(Map)将对象以一个键(Key)值存 放,根据键值可以访问对应的对象
Collection Framework • 根据不同类型的集合的特点和用途,集合框 架在设计的时候将集合分为以下三种类型: (1) 数学概念中的集合(Set) — 以无序的方式 容纳对象,并且任意两个对象均不相同 (2) 列表(List) — 以一定的顺序容纳对象,能 够对容纳的对象进行随机存取 (3) 映射(Map) — 将对象以一个键(Key)值存 放,根据键值可以访问对应的对象

Collection Interfaces Collection ap Set List
Collection Interfaces • 集合框架中将不同类型的集合和集合相关的 操作抽象为高层的接口,并构成层次结构 • java.util包中定义如下高层集合接口: Collection — 除映射类型外所有集合类型的超类 型,声明了针对集合的通用方法 Set — 用于表示数学概念中的集合 List — 用于表示列表类型集合 Map — 用于表示映射类型的集合 Collection Set List Map

Sorted collections Collection Map Set List SortedMap SortedSet
Sorted Collections • 有序集合指集合中容纳的对象按照一定的规 则进行排序 • 集合框架中提供了Set、List和Map的有序类 型: SortedSet — Set接口的子接口 SortedMap — Map接口的子接口 Collection Set List Map SortedSet SortedMap

Iterator Interface Collection ap Set List SortedMap Iterator Sorted Set List lterator
Iterator Interface • 如何以一种通用的方式遍历访问集合框架中 定义的所有类型的集合? • java.util包中定义了接口Iterator,声明了用 于遍历任何类型的集合中的对象的方法,是 对设计模式中的迭代器模式的应用 • 接口ListIterator扩展了接口Iterator的,增加 了针对List类型的集合的遍历操作 Collection Set List Map SortedSet SortedMap Iterator ListIterator

Collection Map List SortedMai p Hash Set HashMapl Sortedset i Array list RemaP linkeDlist TreeSet TreeMap一使用平衡二叉树算法实现Map接口
Default Implementation • 集合框架中提供了一些常用的集合接口的实 现类: HashSet — 使用散列表算法实现Set接口 TreeSet — 使用平衡二叉树算法实现SortedSet接口 ArrayList — 使用数组存放对象来实现List接口 LinkedList — 使用双向链表来实现List接口 HashMap — 使用散列表算法实现Map接口 TreeMap — 使用平衡二叉树算法实现Map接口 Collection Set List Map SortedSet SortedMap ArrayList LinkedList TreeSet HashSet TreeMap HashMap

java util, Collection Interface 除映射类型的集合外,接口java.uti. Collection是 所有集合类型的超类型,声明了与集合操作相关 的通用方法 public int sized public boolean isEmptyo public boolean contains(object elem) public Objectl toArrayo public Objectl toArray(objectl dest)
java.util.Collection Interface • 除映射类型的集合外,接口java.util.Collection是 所有集合类型的超类型,声明了与集合操作相关 的通用方法 public int size() public boolean isEmpty() public boolean contains(Object elem) public Object[] toArray() public Object[] toArray(Object[] dest)

java util, Collection Interface public add(object elem) public remove(object elem) public boolean containsAll(Collection coll public boolean addAll( Collection coll) public boolean removeAll(Collection coll) public boolean retainAll(Collection col) public void clear public Iterator iterator
java.util.Collection Interface public add(Object elem) public remove(Object elem) public boolean containsAll(Collection coll) public boolean addAll(Collection coll) public boolean removeAll(Collection coll) public boolean retainAll(Collection coll) public void clear() public Iterator iterator()

public void removeLongStrings( Collection coll, int maxLen)( Iterator it=coll. iterator while(it. hasNextoi String str=(String)it. nexto; if(strength(>maxLen) coll.remove(str;错误的删除操作! public void remove LongStrings( Collection coll, int maxLen) Iterator it=coll. iterator 0: while(it. hasNextO) String str=(String)it. nexto if(strlength(>maxLen) it remove;正确的删除操作!
java.util.Iterator Interface • 该接口声明了用于遍历集合的方法: public boolean hasNext() public Object next() public void remove() • 通过调用Collection接口及其子接口的实现类的对 象的iterator()方法可以返回一个该接口的实现类的 对象,使用该对象来遍历访问集合中每个对象 • 在使用Iterator对象遍历集合时,如果要删除集合 中的某个对象,必须使用该接口中remove()方法! public void removeLongStrings(Collection coll, int maxLen){ Iterator it=coll.iterator(); while(it.hasNext()){ String str=(String)it.next(); if(str.length()>maxLen) coll.remove(str); } } 错误的删除操作! public void removeLongStrings(Collection coll, int maxLen){ Iterator it=coll.iterator(); while(it.hasNext()){ String str=(String)it.next(); if(str.length()>maxLen) it.remove(); } } 正确的删除操作!

java, util. Set Interface 该接口并没有声明新的方法,但要求实现类 所表示的集合中不能容纳两个相同的对象 判定两个对象是否相同是一般是通过调用 象的 equals(Object other方法来实现的
java.util.Set Interface • 该接口并没有声明新的方法,但要求实现类 所表示的集合中不能容纳两个相同的对象 • 判定两个对象是否相同是一般是通过调用对 象的equals(Object other)方法来实现的
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Cloning Objects.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 13 I/O Package.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 12 Threads.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 11 Nested Classes and Interfaces.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 10 Interfaces.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 09 Extending Classes.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 08 Basic Grammar(Part 3).ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 07 Basic Grammar(Part 2).ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 05 Classes and Objects(Part 2).ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 04 Classes and Objects(Part 1).ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 03 JVM Architecture.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 02 Programming Basic.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Lesson 01 Java语言的发展历史(李凡).ppt
- 《文秘与办公应用全能培训教程》习题答案.doc
- 《文秘与办公应用全能培训教程》单元18 办公自动化系统维护.ppt
- 《文秘与办公应用全能培训教程》单元17 互联网与现代办公.ppt
- 《文秘与办公应用全能培训教程》单元16 局域网办公.ppt
- 《文秘与办公应用全能培训教程》单元15 Office的其他组件和Office XP的新特性.ppt
- 《文秘与办公应用全能培训教程》单元14 PowerPoint 2000.ppt
- 《文秘与办公应用全能培训教程》单元13 公式、函数和数据管理基础.ppt
- 成都信息工程大学(成都信工学院):《Java编程语言 The Java Programming Language》课程教学资源(PPT课件讲稿)Reflection Mechanism Java 反射机制.ppt
- 《C++程序设计开发》第1章 C++程序设计入门.ppt
- 《C++程序设计开发》第2章 算法设计与程序结构.ppt
- 《C++程序设计开发》第3章 数据结构设计.ppt
- 《C++程序设计开发》第4章 重载与模板.ppt
- 《C++程序设计开发》第5章 程序的类层次结构.ppt
- 《C++程序设计开发》第6章 IO流类库.ppt
- 《C++程序设计开发》第7章 Visual C++程序设计.ppt
- 《计算机操作系统》管程monitor的特点.ppt
- 《计算机操作系统》第一章 计算机系统概述.ppt
- 《计算机操作系统》第十章 设备管理.ppt
- 《计算机操作系统》第十一章 文件管理.ppt
- 《计算机操作系统》第二章 操作系统概述.ppt
- 《计算机操作系统》第三章 进程描述和控制.ppt
- 《计算机操作系统》第五章 并发性:互斥和同步.ppt
- 《计算机操作系统》第六章 死锁和饿死.ppt
- 《计算机操作系统》第七章 存储器管理.ppt
- 《计算机操作系统》第八章 虚拟存储器.ppt
- 《计算机操作系统》第九章 单处理器调度(9-1)调度的类型.ppt
- 《计算机操作系统》第九章 单处理器调度(9-2)调度的类型.ppt