黑马程序员技术交流社区
标题: list和set集合笔记 [打印本页]
作者: LiuKang 时间: 2013-12-3 10:09
标题: list和set集合笔记
迭代器:把取出方式定义在集合的内部,可以直接访问集合内容的元素,取出方式被定义为内部类
每一个容器的数据结构不同,取出的动作细节也不一样,但是有共性的内容:判断和取出,可以将共性抽取
(比喻:电玩城取布娃娃的那个夹子,定义在容器内部)
List:元素是有序的,元素可以重复,该集 合体系有索引
常见方法:凡事可以操作角标的方法都是该体系特有的方法
增:add(index,element) addAll(index,Collection) 删:remove(index) 改:set(index,element)
查:get(index) subList(from,to) listItreator();
List集合特有的迭代器,ListIterator是Iterator的子接口,在迭代时不可以通过集合对象的方法操作集合的元素
ListIterator it = al.listIterator it.remove();it.add();
--ArrayList:底层的数据结构是数组结构,查询速度快,但是增删稍慢,线程不同步(效率高)默认10的空表,再加50%延长
file:///C:/Users/liukang/AppData/Local/Temp/ksohtml/wps_clip_image-925.png--LinkedList:底层是链表结构,增删速度很快,查询稍慢(特有方法addFirst();addLast();getFirst()可以获取元素但是不删除removeFirst()获取元素但是删除)
如果集合中没有元素,会出现异常。在JDK1.6出现了替代方法:offerFirst();PeakFirst();polllFirst();没有元素返回null
--Vector:底层是数组结构(元老,还没集合的时候就存在了)线程同步(都很慢,被ArrayList替代)100%延长。(枚举是其特有取出方式,和迭代器很像---其实枚举和迭代是一样的,出新的是因为旧的方法名啥的都长故用迭代器)
Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复。
--HashSet:底层数据结构是哈希表(哈希表按哈希值存)保证元素的唯一性,通过两个方法,hashCode和equals。如果HashCode值相同,才会判断equals是否为真
--TreeSet:
Set集合的功能和Collection是一致的
作者: 狼王 时间: 2013-12-3 10:19
好久没复习了,这是一个机会
作者: LiuKang 时间: 2013-12-3 13:14
恩恩,一定好好复习,嘿嘿
作者: z565138783 时间: 2016-1-29 23:07
ffffffffffffffffffffffffffffffffffffffffffffffffff
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |