黑马程序员技术交流社区
标题: (主推)集合框架一:集合的概念|特点|与数组区别|框架图|共. [打印本页]
作者: 朱晓杰 时间: 2013-5-10 20:52
标题: (主推)集合框架一:集合的概念|特点|与数组区别|框架图|共.
本帖最后由 朱晓杰 于 2013-5-10 20:51 编辑
集合的概念、特点、与数组区别、框架图、共性方法
一、 集合框架概述
1、 集合概念
集合同数组一样,都是容器,数组用于存储、获取、操作对象,那么集合就是用于存储、获取、操作不同引用类型的数据,可以看作是动态的数组。
怎么理解呢?
哆啦A梦拥有一个令人羡慕嫉妒恨的百宝袋,可以存放很多各种各样有趣的宝贝,比如竹蜻蜓,四通八达门,时间隧道…而且不用担心放不下。我想集合就类似与百宝袋,可以存放各种引用类型的数据,String,Integer…
2、集合特点及与数组的区别
集合的特点:集合只用于存储对象,集合长度是可变的,集合可以存储不同类型对象。
与数组的区别:数组可以存储任意的数据类型,但是一个数组只能存储同一种数据类型的数据,数组长度是固定的,并且
操作数组时容易出现ArrayIndexOfBoundsException(角标越界)异常。
集合只能存储对象,但是集合长度是可变的 ,一个集合可以存储不同类型的对象。
3、集合框架图
主要集合类简单描述:
List接口:继承 Collection,允许重复,有序集合,可以通过索引来访问指定位置的集合元素(顺序索引从0开始),
List集合默认按元素的添加顺序来设置元素的索引
ArrayList:基于数组实现,方便查找,JDK1.2,线程不安全
LinkedList:基于链表实现,方便增加、删除元素
Set接口:继承 Collection,但不允许重复,无序集合(存入与取出的顺序不一定一致),拥有自己的内部排列机制
HashSet:基于哈希表实现,是线程不安全的
TreeSet:基于二叉树实现,是线程不安全的
Map接口:一组成对的键-值对象,Map中不能有重复的键,拥有自己的内部排列机制
HashMap:基于哈希表实现,是线程不安全的
TreeMap:基于二叉树实现,是线程不安全的
Iterator接口:迭代器,实现对集合中元素的遍历操作,很好的体现了内部类的设计
使用迭代器的步骤:
1.调用iterator()获得集合的Iterator;
2.使用循环不断调用hasNext()方法,判断是否还有元素;
3.在循环体内,调用next()方法获取每个元素
ListIterator:获取List的迭代器
4、共性内容
基本的方法的使用,大家可以在API里面找到详细解释,下面以List,Set,Map集合中经常使用的
ArrayList,HashSet,HashMap集合为例进行遍历: 1. for循环遍历集合
2. 迭代器的使用
3. 增强型for循环的使用(注意:在遍历的过程中,不能对集合本身进行操作)
作者: 朱晓杰 时间: 2013-5-10 20:52
本帖最后由 朱晓杰 于 2013-5-10 22:38 编辑
作者: 朱晓杰 时间: 2013-5-10 20:59
尹桥印 发表于 2013-5-10 20:56
版主啊,这个要加5分技术分啊~~~
:D 不要这的么,有什么总结不全的地方还请你指出来!大家一起探讨学习!
作者: 曹睿翔 时间: 2013-5-10 21:18
这个加不了五分的,哈哈,跟普通博客水平相当。大家的博客都总结的很好
我想看到的是后几篇总结的,关于集合应用和集合中容易出现的问题、难点,相当费神!
那时才会多加
楼主注意了,敢于挑战!
作者: 朱晓杰 时间: 2013-5-10 22:19
曹睿翔 发表于 2013-5-10 21:18
这个加不了五分的,哈哈,跟普通博客水平相当。大家的博客都总结的很好
我想看到的是后几篇总结的,关于集 ...
明白,这个只是一个简单的,后面的得更加专注来搞了!
作者: 陈进 时间: 2013-5-10 23:31
楼主辛苦了,好好学习,走起。。。。
作者: hou604720966 时间: 2013-5-11 09:54
朱晓杰 发表于 2013-5-10 20:52
朱: 你写的集合采用了泛型,最好标注上是JDK1.5的新特性
作者: 朱晓杰 时间: 2013-5-11 09:56
hou604720966 发表于 2013-5-11 09:54
朱: 你写的集合采用了泛型,最好标注上是JDK1.5的新特性
搜噶,也是哈...不过我想的是后面专门整理总结一下泛型!
作者: 朱晓杰 时间: 2013-5-11 09:56
陈进 发表于 2013-5-10 23:31
楼主辛苦了,好好学习,走起。。。。
:handshake 潇洒的走起!
作者: hou604720966 时间: 2013-5-11 11:18
朱晓杰 发表于 2013-5-11 09:56
搜噶,也是哈...不过我想的是后面专门整理总结一下泛型!
慢慢整理吧,结合一些工作经验应该是比较不错的。。。努力吧!!!
作者: 丘凤光 时间: 2013-5-11 14:12
参与活动的要自己开帖给答案?
作者: 朱晓杰 时间: 2013-5-11 15:00
丘凤光 发表于 2013-5-11 14:12
参与活动的要自己开帖给答案?
直接发帖就可以
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |