网站大量收购独家精品文档,联系QQ:2885784924

集合Collection要领.pptx

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java中集合框架: Collection接口和Map接口;集合框架图;。集合框架中的核心接口是:List接口、Set接口和Map接口。List接口和Set接口都是继承了Collection接口的,而Map接口是单独存在的。 ;我们学了知识是拿来应用的,那么对于初学者来说怎样才能很好地应用集合框架呢!给我感受最深的,也是最重要的,那就是要知道集合框架中各个接口和实现类的特征和他们的方法。如果知道了他们的特征和方法,那我我们在应用中就能得心应手了。好,下面就让我们一起学习集合框架中几个常用的接口和实现类的特征:;??List:List是一个接口,它继承于Collection接口。它定义了一个允许有重复项的有序集合。那么,它的特征就是:允许有重复项,有序。 Set:Set是一个接口,它也是继承于Collection接口。它不允许集合中存在重复项,无序。每个具体的 Set 实现类依赖添加的对象的 equals()方法来检查独一性。 ; Map:Map也是一个接口,Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/value)。它描述了从不重复的键到值的映射。;重要的实现类: 1 ArrayList :ArrayList是一个类,他实现了List接口,它封装了一个动态再分配的Object[]数组。 它的特点是:有序,可以重复的数组。 ArrayList类中最常用的方法有:add(),get(),remove(),size()等方法。 例如: ???? ListUser list = new ArrayListUser();//实例化一个对象 ???? list.add(user);//在list中添加元素 ;2 LinkedList:LinkedList也是一个类,它实现了List接口,它是一个双向链表结构的集合。 LinkedList类中最常用的方法有:add(),get(),remove(),size(),clear()等方法。这些方法在javaAPI中都有详细说明。 ;总结: 1 ArrayList、 LinkedList两个类都实现了 List接口 2 ArrayList的特点是有序可以重复的,LinkedList是一个双向链表结构的。 3 特点来选择:对这个集合经常进行查找操作,那么你最好用ArrayList; 经常增加,删除操作,那么最好用LinkedList来存放。这些都是根据他的一个特点来选择应用的。 ;ArrayList = Object[] + 线性表操作(增删改查) StringBuilder = char[] + 操作(增删改查) ArrayList(1.2以后新的) 是使用变长数组算法实现的 List (线性表方法) Vector(1.0) 是使用变长数组算法实现是 List 矢量 向量 LinkedList 是采用双向循环链表实现的List ;List 集合的实现 1 LinkedList 采用双向循环链表实现 2 ArrayList 变长数组算法实现 新的 快 非线程安全 3 Vector 变长数组算法实现 早期提供 慢 线程安全 ; Map 1 HashMap 新 2 Hashtable 旧 (1.2以前) 散列表概念 1 容量: 散列表中散列数组大小. 2 散列运算: key-散列值(散列数组下标)的算法, 如: mm.hashCode()%10-8 3 散列桶: 散列值相同的元素的线性集合 4 加载因子: 就是散列数组加载率, 一般小于75%性能比较理想 就是:元素数量/散列数组大小, 如: 7/10=70% 5 散列查找: 根据Key计算散列值, 根据散列值(下标找到散列桶,在散列桶中顺序比较Key, 如果一样, 就返回value 6 散列表中Key不同, Value可以重复 ;HashMap = Entry(key:value)[](散列表)+散列算法(方法)(get/put) ArrayList = Object[] + 线性算法(方法) LinkedList = 双向循环链表 + 线性操作(方法) StringBuilder = char[] + 数组的操作 ; HashMap:HashMap是一个类,它实现了Map这个接口。中文也叫散列表。它的特点就是:键值对的映射关系。一个Key对应一个Value。 例如:我们在做一个简单的ATM实现的时候,一个卡号对应一个用户,每一张卡的卡号是唯一的,而一个用户可以有几张卡。这种情况,我们就可以用HashMap来存放数据了。;HashMap(关键字:值), 关键字key是唯

文档评论(0)

xiaofei2001128 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档