第6章 集合(一)_第1页
第6章 集合(一)_第2页
第6章 集合(一)_第3页
第6章 集合(一)_第4页
第6章 集合(一)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章集合(一),JSP基础知识,什么是集合 通常情况下,把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合。比如,用Java编程的所有程序员,全体中国人等。 通常集合有两种表示法,一种是列举法,比如集合A1,2,3,4,另一种是性质描述法,比如集合B=X|0X100且X属于整数。,6.1 集合概述,什么是集合框架 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。,6.1 集合概述,第5章介绍了数组,数组的长度是固定的,且只能存放相同类型的数据。可以存放基本类型的数据,也可以存入对像类型的数据。 为了使程

2、序能方便的存取不固定数目的数据,JDK提供了java集合。集合就是一个动态的对象数组,是对一些实现好的数据结构进行了包装,这样在使用时就会非常方便。 所有的Java集合类都位于java.util包中。,6.1 集合概述,Java2的集合框架,抽其核心,主要有三种:List、Set和Map。 Set(集):集合中的对象不按特定的方式排序。不能有重复的对象。但它的某些子类,对对象按特定的方式排序。 List(列表):集合中的对象按索引的位置排序,可以有重复的对象,允许按照索引查找对象。List有点像数组。 Map(映射):键值对。集合中没有重复的键,可以有重复的值。它的某些子类,对集合中的键对象进

3、行排序。注意:键和值必须都是对象。,6.1 集合概述,6.1 集合概述,简化图,6.1 集合概述,Collection接口 List接口-迭代顺序与插入顺序相同,集合中可以存在相同数据。 LinkedList类-以链表的形式实现,插入删除效率高。 ArrayList类-使用可变数组实现的List。插入或删除一个元素代价较大,创建开销较小,随机访问较快。 Vector类-可以实现可增长的对象数组,具有同步支持。 Stack-后进先出(LIFO)的对象堆栈。 Set接口-不能包含重复的元素,只能包含一个NULL。 HashSet类-哈希法排序,迭代顺序与插入顺序不相同。通常比较适用于那些对内容的规

4、模比较敏感的搜索、插入、删除等操作。 LinkedHashSet类(继承HashSet类,实现Set接口)-哈希法排序,迭代顺序与插入顺序相同。 SortedSet TreeSet,6.1 集合概述,Map接口-键值对,存取数据都要通过指定键值来完成。 HashMap-一个Map的散列表实现。非常通用的集合,查询与插入所花时间较少。 LinkedHashMap TreeMap Hashtable WeakHashMap,6.1 集合概述,6.2 集合排序策略,1. Ordered:按插入的顺序排列 Ordered在英文中的含义是按照某种由具体情况决定的顺序进行排序。这种顺序是由后天指定的,是由

5、具体情况的客观因素造成的。 Ordered排序意味着可以按照某种后天规定的顺序遍历其中所有的元素。 例如排队购买商品,是按照先来先买的顺序进行的,这次排队在前面的人下次未必在前面。 再比如数组,是按照其索引位置建立的顺序,这是外界的顺序,并不是由元素自身的条件或本质来决定的顺序。,2. Sorted:排序 Sorted在英文中的含义是按照天然的顺序进行排序,这种顺序是由先天指定的、自身条件影响,其代表了参与排序元素的本质,不受外界因素的影响。 如,人的年龄大小,是由出生时间决定的,永不改变。这都是天然的顺序,可以反映元素本质的顺序。 Sorted排序意味着可以按照某些先天规定的顺序遍历集合中所

6、有元素。,6.2 集合排序策略,6.3 Collection,Collection接口是构造集合框架的基础。它声明所有集合都将拥有的核心方法。一个Collection代表一组Object的集合,这些Object被称作Collection的元素。 根据用途的不同,Collection又划分为List与Set。 Collection位于java.util包中。,public interface Collection extends Iterable public abstract int size(); /取得Collection的容量(元素数目) public abstract boolean

7、isEmpty(); /判断是否为空 public abstract boolean contains(Object obj); /判断是否包含某对象元素 public abstract Iterator iterator(); /取得对所有元素的遍历。可以通过Iterator提供的方法遍历集合的元素 public abstract Object toArray(); /将集合元素以数据形式返回 public abstract Object toArray(Object aobj); public abstract boolean add(Object obj); /向集合体插入一个新的元素

8、public abstract boolean remove(Object obj); /从集合体删除一个元素 public abstract boolean containsAll(Collection collection); /是否包含所有collection里的所有元素 public abstract boolean addAll(Collection collection); /插入collection里的所有元素 public abstract boolean removeAll(Collection collection); /移除collection里的所有元素 public abstract boolean retainAll(Collection collection); public abstract void clear(); /移除所有元素 /. other methods ,6.3 Collection,6.3 Collection,6.3 Collection,如何遍历Collection中的每一个元素?不论Collection的实际类型如何,它都支持一个iterator()的方法,该方法返回一个迭代子,使用该迭代子即可逐一访问Coll

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论