集合和异常处理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• Vector(Hashtable)为了线程安全,Vector方 法被同步,通常使用ArrayList 而不用 Vector。
• ArrayList和Vector是唯一的两个设计了 RadomAccess方法类
Set接口下的几个实现类
• Set接口:重在数据的唯一性,不允许重复,set接口通过 equals()方法确定两个对象是否相等,重复时只能有一个放 在set中。
构造一个具有指定初始容量的空列 表。
ArrayList类常用方法
• 常用方法: • boolean add(E e)
将指定的元素添加到此列表的尾部。 • void add(int index, E element)
将指定的元素插入此列表中的指定位置。 • Void clear()
移除此列表中的所有元素。 • void trimToSize()
集合函数
• 集合的定义; • ---是将多个元素组成一个单元的对象. • 作用: • ---集合用于存储、检索和操作数据,以己将数据从一个方法传输至另一
个方法。 • 经常使用到的java.util包中的: • ArrayList、LinkdList,、HashMap、Vector、List和Map等类和接口。
• int size() 返回此列表中的元素数
• Boolean isEmpty() • 如果此列表中没有元素,则返回 true • E get(int index)
返回此列表中指定位置上的元素。 • void ensureCapacity(int minCapacity)
如有必要,增加此 ArrayList 实例的容量,以确保它至少能够 容纳最小容量参数所指定的元素数。
ArrayList类
• java.lang.Object
• java.util.AbstractCollection<E> java.util.AbstractList<E>
•
java.util.ArrayList<E>
ArrayList特性
• ArrayList支持按照需要增长的动态数组。 • 在java中,标准数组是固定长度的,数组创建
以后,不能增长或者收宿。 • 而arrarylist可以动态增减大小,数组列表初始
长度超过时,集合自动增长;当删除时,集 合自动变小。
ArrayList类优点
• 每个 ArrayList 实例都有一个容量。
• 该容量是指用来存储列表元素的数组的大小。它总是至少等于 列表的大小。
• 随着向 ArrayList 中不断添加元素,其容量也自动增长。并未指 定增长策略的细节,因为这不只是添加元素会带来分摊固定时间 开销那样简单。
将此 ArrayList 实例的容量调整为列表的当前大小。 • E set(int index, E element)
• 用指定的元素替代此列表中指定位置上的元素。
ArrayList类常用方法
• boolean remove(int index) 移除此列表中指定位置上的元素。
• boolean remove(Object o) 移除此列表中首次出现的指定元素(如果存在)。
• Set的三种实现类 • HashSet:未排序、未分类的集合,不能重复插入值,不关心
数据顺序时使用 • LinkedHashSet:一个排序,但未分类的集合,在元素之间使
用一个双向链表来连接,当关心遍历顺序时使用 LinkedHashSet,它将按插入的顺序进行遍历,当使用 HashSet时遍历的顺序是不可预知的。
集合
注意:不是所有的集合类都是从Collection继承
集合接口(Conllection接口)
Collection
Set
List
TreeSet
HashSet
Linked Fra Baidu bibliotekas hSet
TreeSet
LinkedList
Vector
ArrayList
集合接口(Map接口)
Map
SortedMap
ArrayList类的概念
• ArrayList对象: • 是长度可变的对象引用数组,用于创建
动态数组。它扩展AbstractList并实现 List接口。 • 三个之间的比较: • List是有序的集合,可以包含重复的元素。 • AbstractList类实现List接口,有助随机 方式访问元素。 • ArrayList在访问和遍历对象时,性能优。
Hashtable
LinkedHashMap
HashMap
TreeMap
集合框架
集合有三种类型
• List:事物列表 • Set: 唯一的事物列表 • Map 具有唯一ID的事物
List接口下的几个实现类
• ArrayList:一个可增长的数组,提供快速遍 历和快速随机访问,当需要快速遍历时而 不是做大量删除和插入时,用ArrayList
• TreeSet:按照一种二叉树的结构进行 存储,并可以保证遍历时,会按照元 素的自然顺序进行排序。
• 也可以自己构造一个TreeSet,让其按 照自己的想法进行排序
Map接口下的实现类
• Map接口: 按 “键-值”对进行插入,(键、值都是对象)可以 按照键来搜索值对象
• 可以查找值的集合,也可以查找键的集合 • HashMap:一种未分类,未排序的映射类,不需要顺序时
ArrayList类构造方法
• 构造方法: • ArrayList()
构造一个初始容量为 10 的空列表。 • ArrayList(Collection<? extends E> c)
构造一个包含指定 collection 的元 素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 • ArrayList(int initialCapacity)
HashMap是一种最好的选择,因为其效率较高,HashMap允许集 合中有一个null键和多个null值。 • Hashtable:Hashtable 是HashMap的同步版本,但Hashtable不 允许有任何的null存在。 • LinkedHashMap:和linkedHashSet一样,LinkedHashMap维护 插入和访问的顺序,添加和删除比HashMap慢,但遍历的速度要 更快。 • TreeMap:一个顺序的Map集合。
• ArrayList和Vector是唯一的两个设计了 RadomAccess方法类
Set接口下的几个实现类
• Set接口:重在数据的唯一性,不允许重复,set接口通过 equals()方法确定两个对象是否相等,重复时只能有一个放 在set中。
构造一个具有指定初始容量的空列 表。
ArrayList类常用方法
• 常用方法: • boolean add(E e)
将指定的元素添加到此列表的尾部。 • void add(int index, E element)
将指定的元素插入此列表中的指定位置。 • Void clear()
移除此列表中的所有元素。 • void trimToSize()
集合函数
• 集合的定义; • ---是将多个元素组成一个单元的对象. • 作用: • ---集合用于存储、检索和操作数据,以己将数据从一个方法传输至另一
个方法。 • 经常使用到的java.util包中的: • ArrayList、LinkdList,、HashMap、Vector、List和Map等类和接口。
• int size() 返回此列表中的元素数
• Boolean isEmpty() • 如果此列表中没有元素,则返回 true • E get(int index)
返回此列表中指定位置上的元素。 • void ensureCapacity(int minCapacity)
如有必要,增加此 ArrayList 实例的容量,以确保它至少能够 容纳最小容量参数所指定的元素数。
ArrayList类
• java.lang.Object
• java.util.AbstractCollection<E> java.util.AbstractList<E>
•
java.util.ArrayList<E>
ArrayList特性
• ArrayList支持按照需要增长的动态数组。 • 在java中,标准数组是固定长度的,数组创建
以后,不能增长或者收宿。 • 而arrarylist可以动态增减大小,数组列表初始
长度超过时,集合自动增长;当删除时,集 合自动变小。
ArrayList类优点
• 每个 ArrayList 实例都有一个容量。
• 该容量是指用来存储列表元素的数组的大小。它总是至少等于 列表的大小。
• 随着向 ArrayList 中不断添加元素,其容量也自动增长。并未指 定增长策略的细节,因为这不只是添加元素会带来分摊固定时间 开销那样简单。
将此 ArrayList 实例的容量调整为列表的当前大小。 • E set(int index, E element)
• 用指定的元素替代此列表中指定位置上的元素。
ArrayList类常用方法
• boolean remove(int index) 移除此列表中指定位置上的元素。
• boolean remove(Object o) 移除此列表中首次出现的指定元素(如果存在)。
• Set的三种实现类 • HashSet:未排序、未分类的集合,不能重复插入值,不关心
数据顺序时使用 • LinkedHashSet:一个排序,但未分类的集合,在元素之间使
用一个双向链表来连接,当关心遍历顺序时使用 LinkedHashSet,它将按插入的顺序进行遍历,当使用 HashSet时遍历的顺序是不可预知的。
集合
注意:不是所有的集合类都是从Collection继承
集合接口(Conllection接口)
Collection
Set
List
TreeSet
HashSet
Linked Fra Baidu bibliotekas hSet
TreeSet
LinkedList
Vector
ArrayList
集合接口(Map接口)
Map
SortedMap
ArrayList类的概念
• ArrayList对象: • 是长度可变的对象引用数组,用于创建
动态数组。它扩展AbstractList并实现 List接口。 • 三个之间的比较: • List是有序的集合,可以包含重复的元素。 • AbstractList类实现List接口,有助随机 方式访问元素。 • ArrayList在访问和遍历对象时,性能优。
Hashtable
LinkedHashMap
HashMap
TreeMap
集合框架
集合有三种类型
• List:事物列表 • Set: 唯一的事物列表 • Map 具有唯一ID的事物
List接口下的几个实现类
• ArrayList:一个可增长的数组,提供快速遍 历和快速随机访问,当需要快速遍历时而 不是做大量删除和插入时,用ArrayList
• TreeSet:按照一种二叉树的结构进行 存储,并可以保证遍历时,会按照元 素的自然顺序进行排序。
• 也可以自己构造一个TreeSet,让其按 照自己的想法进行排序
Map接口下的实现类
• Map接口: 按 “键-值”对进行插入,(键、值都是对象)可以 按照键来搜索值对象
• 可以查找值的集合,也可以查找键的集合 • HashMap:一种未分类,未排序的映射类,不需要顺序时
ArrayList类构造方法
• 构造方法: • ArrayList()
构造一个初始容量为 10 的空列表。 • ArrayList(Collection<? extends E> c)
构造一个包含指定 collection 的元 素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 • ArrayList(int initialCapacity)
HashMap是一种最好的选择,因为其效率较高,HashMap允许集 合中有一个null键和多个null值。 • Hashtable:Hashtable 是HashMap的同步版本,但Hashtable不 允许有任何的null存在。 • LinkedHashMap:和linkedHashSet一样,LinkedHashMap维护 插入和访问的顺序,添加和删除比HashMap慢,但遍历的速度要 更快。 • TreeMap:一个顺序的Map集合。