06-集合框架(容器)

时间:2025-04-23

JAVA程序集合框架(容器)

Java语言程序设计-6:集合框架(容器)

2015/12/3

JAVA程序集合框架(容器)

一 大纲 为什么需要容器 容器的分类和使用 Collection Set List

Map

Collections类 Comparable接口 Iterator接口

2015/12/3

JAVA程序集合框架(容器)

二 为什么需要容器 数组存在两个缺陷 数组的长度难以扩充 数组中元素的类型必须一致

容器可以弥补数组的这两个缺陷 如:A[] array = new A[10],A是个Class要改变A[] 的长度为A[15] 耗时耗力,效率低2015/12/3 3

JAVA程序集合框架(容器)

三 容器的数学模型及Java的解决方案容器(集合)是将若干用途,性质相同或近似的“数据”组 合而成一个整体。 数学上,集合的类型可以归纳为三种: 集(Set) Set集合中不区分元素的顺序,不允许出现重复元素。

列表(List)List集合区分元素的顺序,且允许包含重复元素。 映射(Map)

映射中保存成对的“键-值”(key-value)信息,映射中不 能 包含重复的键,每个键智能映射一个值。

Java设计了三个接口来对应数学上的三种集合,这三个接 口分别为Set,List,Map2015/12/3 4

JAVA程序集合框架(容器)

四 容器的框架图(Java API) J2SDK所提供的容器API位于java.util包内 容器API的类结构图如下所示:

2015/12/3

JAVA程序集合框架(容器)

五 容器的框架图详解容器API

Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。 Set中的数据对象没有顺序且不允许出现重复。 List中的数据对象有顺序且允许重复。

Map接口定了存储“键-值”(key-value)映 射对的方法。2015/12/3 6

JAVA程序集合框架(容器)

六 Collection接口中的方法-1 int size()返回collection中的元素数

boolean isEmpty(); Boolean containsAll(Collection c)判断形参c所指向的集合中所有的元素是否包含在当前的 集合中;

Iterator iterator();返回能够遍历当前集合所有元素的迭代器。2015/12/3 7

JAVA程序集合框架(容器)

七 Collection接口中的方法-2 Object[] toArray ()容器不是数组,不能通过下标访问容器中的元素返回一个包含colleciton中所有元素的数组 例:java

boolean add(Object e); boolean remove(Object o) boolean addAll(Collection c)把c中所有的元素添加到当前集合中

boolean removeAll(Collection c)2015/12/3 8

JAVA程序集合框架(容器)

八 Collection接口中的方法-3 void clear ()把当前容器中所有的元素清除

boolean equals(Object e); int hashCode()

2015/12/3

JAVA程序集合框架(容器)

九 List接口 List接口是Collection的子接口,实现List接口容器类中 的元素是有顺序的,而且可以重复。 List容器中的元素都对应一个整数序列号记载其在容器中 都位置可根据序列号存取容器中的元素

J2SDK所提供的List容器类有ArrayList,LinkList

2015/12/3

JAVA程序集合框架(容器)

十 Set接口 Set接口和List接口都是继承Collection

接口,所以Set和 List的很多方法是一样的。 List接口中有add,set,indexOf方法,但是Set接口中 却只有add方法,没有set,indexOf方法,因为Set是无

序不能重复的,不存在某元素具体位置这个概念。

2015/12/3

JAVA程序集合框架(容器)

十一 Map接口 Map接口描述了映射结构,Map允许以键集,值集或键 -值映射关系集的形式查看某个映射的内容。 主要方法:

2015/12/3

JAVA程序集合框架(容器)

十二 toString()方法例:TestToString.java

2015/12/3

JAVA程序集合框架(容器)

十三 Collection接口实现类示例

输出结果:

[zhangsan,123,66.6]2015/12/3 14

JAVA程序集合框架(容器)

十四 Collection接口实现类示例总结

强烈建议:所有添加到 Collection容器中的对象

都应重写父类Object的toString方法

2015/12/3

JAVA程序集合框架(容器)

十五 ArrayList与LinkedList的比较 ArrayList和LinkedList都实现了List接口中的方法,但两 者内部实现不同; ArrayList底层采用数组完成,而LinkedList则采是以一 般双向链表(double linked list)完成,其内每个对象除

了数据本身外,还有两个引用,分别指向前一个元素和后一个元素。 如果需要经常在List开始处增加元素,或在中间进行插入 和删除操作,我们应该使用linkedList,否则使用 ArrayList更快。

2015/12/3

…… 此处隐藏:315字,全部文档内容请下载后查看。喜欢就下载吧 ……
06-集合框架(容器).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219