- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 集合框架
一、集合框架介绍
1、Java集合框架的作用
从对象存放和组织的角度看,Java中的数组只能解决定长数量对象引用的连续存放问题,而要表示长度动态变化的数组,以及各种特征的数据结构,需要建立一套具有相当抽象程度的接口与类,程序员可以方便地使用它们处理各种数据结构的表示问题。
由于总体上看,所有的数据结构都具有一个特征——容器特征,从数学上讲也就是集合特征,因而也总使用容器、集合、集合框架等表示这部分内容的整体称谓。
2、集合框架的构成
所有集合相关的接口、类都放置在java.util包中,因而程序中需要使用import java.util.*;进行引用。
Java进行集合抽象时候,总体上分为三种类型:
List——列表型集合,集合中的对象检索需要以索引位置进行,因而组织也按照索引序号进行,可以存放重复对象(非空引用),相当于动态数组。
Set——纯集合型,对象不需要有特定的排列检索次序,因而也不允许重复对象(引用),相当于数学中的集合。
Map——映射型集合,对象检索按照关键字进行,因而要求每次加入一个对象的时候都要同时提供一个键对象(即对象的存放以键-值对的成对形式存放),一般使用字符串。
标准的Set和Map中的元素无特定次序,但是其中特殊的类型支持一些排序功能。public interface Collection;
public interface Map;
public interface List extends Collection;
public interface Set extends Collection;
public abstract class AbstractCollection implements Collection;
public abstract class AbstractList extends AbstractCollection implements List;
public abstract class AbstractSet extends AbstractCollection implements Set;
public abstract class AbstractMap implements Map;
public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, Serializable;
public class HashSet extends AbstractSet implements Set, Cloneable, Serializable;
public class HashMap extends AbstractMap implements Map, Cloneable, Serializable
3、Collection接口概述
上述三种类型分别定义为接口,下方有很多实现它们的各种实用类,上方由于List和Set的共性,抽象了一个公共的接口Collection(聚集、集合),其中定义了很多公共的方法原型,它们对应大部分可能的集合操作,具体如下:
方法原型 功能 boolean add(Object?o) 将一个对象引用加入到当前集合中 boolean addAll(Collection?c) 向当前集合中加入参数集合中的所有对象引用——并集 void clear() 清除当前集合中的所有引用 boolean contains(Object?o) 检查当前集合中是否存在指定的对象 boolean containsAll(Collection?c) 确认参数集合是否是当前集合的子集 boolean isEmpty() 判断当前集合是否为空集 Iterator iterator() 获取当前集合的迭代器对象(用于遍历集合对象的类) boolean remove(Object?o) 从当前集合中移出指定的对象引用 boolean removeAll(Collection?c) 从当前集合中移出属于参数集合中的所有对象引用——减法 boolean retainAll(Collection?c) 从当前集合中移出不属于参数集合中的所有对象引用——交集 int size() 返回集合中的对象数量 Object[] toArray() 返回一个包含所有对象引用的数组 Iterator接口用于遍历集合对象,其中提供了三个方法:
方法原型 功能 boolean hasNext() 判断还有没有元素没有遍历 Object next() 获取一个对象(自动后移) void remove() 移出一个对象 虽然Iterat
文档评论(0)