集合框架概述

集合框架概述

ID:42148062

大小:140.00 KB

页数:4页

时间:2019-09-09

集合框架概述_第1页
集合框架概述_第2页
集合框架概述_第3页
集合框架概述_第4页
资源描述:

《集合框架概述》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、集合框架■•集合框架体系概述集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。接口:即表示集合的抽象数据类型。接口提供了让我们对集合屮所表示的内容进行单独操作的可能。实现:也就是集合框架中接口的貝体实现。实际它们就是那些可复用的数据结构。算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现。事实上,算法是可复用的函数。集合框架体系主要如上图所示,集合类主要分为两大类:Collectio

2、n和Map。先简单概述几个相关问题。1、先说明下什么是集合?当数据多了需要存储,需要容器,但是数据的个数又不确定的时候,无法使用数组(数组长度是固定的,集合长度是可变的),这时便使用了Java中的另一个容器-集合。2、数组与集合有哪些不同?数组中存储的是同一类型的元素,可以存储基本数据类熨值。集合存储的是对象,而且对象的类型可以不一致。3、什么时候使用集合呢?当对象多的时候,先进行存储。在实际的使用中,我们有了更多的需求,于是出现了集合框架,有了更多的容器(每个容器有自己的数据结构,因此其功能也不同),在不断向上抽取的过程屮,出现了体系,最终形成了集合框架.细节:1集合中存储的都是

3、对象的地址(引用)2集合中是否可以存储基本数值?不可以,但在jdk1.5后可以这么写,但是存储的还是对象(基本数据类型包装类对象)3存储的时候自动提升为Object类型,取出的时候如果需要使用元索的特有内容,必须进行向下转型接下来,简单谈谈Collection,collection是List、Set等集合高度抽象岀来的接口,它包含了这些集合的基本操作。主要分为:List和Set。一、List接口:通常表示一个列表(数组、队列、链表、栈等),有序的,元素是可以重复的,通过索引就可以精确的操作集合中的元素,List接口的特有方法,都是围绕索引定义的。List获取元索的方式有两种:一种是

4、迭代,还有一种是遍历+getList接口是支持对元素进行增删改查动作的(add,set,get,remove)常用的实现类为ArrayList和LinkedList,还有不常用的Vector(已过时)。1、ArrayList:是数组结构,长度是可变的,原理是(创建新数组+复制数组),查询速度快,增删较慢,不同步。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑使用Collections.synchronizedList(Listi)函数返回一个线程安全的ArrayList类,或者使用Concurrent并发包下对应的集合类。2、LinkedList:是基

5、于双向循环链表实现的,是链表结构,不同步的,增删速度快,查询较慢。由于实现了Queue接口,因此也可以用丁•实现堆栈、队列。3、Vector:可以增长的数组结构,同步的,效率很低,查询增删凑慢,已过时。二、Set集合:不允许包含重复的元素(通过hashcode和equals函数保证),不保证顺序,而且方法和Collection—致,set集合取出元素的方式只有--种:迭代器。常用的实现类为HashSet和TreeSeto1、HashSet:基于HashMap实现,哈希表结构,不同步,保证元素的唯一性依赖于hashCode(),equals()方法。Hash概述:哈希算法hash也称

6、散列,结果叫哈希值。数组中存储的都是(元素与哈希值的)对应关系,该数组称为哈希表,查询速度比数组快,重复元素存不进去,保证元素的唯一性。哈希冲突怎么解决?元索的哈希值(hashcode())一致了,这是会再次判断元索的内容是否相同(equals。),如果equlas返回true,意味着两个元素相同,如果返回的是false,意味着两个元素不相同,继续通过算法算出位置进行存储(拉链法)。2、TreeSet:基于TreeMap实现,实现了SortedSet接口,是有序的,添加到TreeSet中的元素要实现Comparable接口,以便使用元素的自然排序对元素进行排序,或者根据创建set时

7、提供的Comparator进行排序。comparable和comparator的区別:Comparable:此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo方法被称为它的自然比较方法。他们都是用来实现集合中元索的比较、排序的,只是comparable是在集合内部定义的方法实现的排序,而comparator是在集合外部实现的排序。comparator位丁•包java.util下,而comparable位丁•包java」an

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。