黑马程序员技术交流社区
标题:
集合框架总结,自己花了挺长时间总结出来的,大家看看,多...
[打印本页]
作者:
Morrfree
时间:
2015-8-28 00:20
标题:
集合框架总结,自己花了挺长时间总结出来的,大家看看,多...
集合总结
概述:
集合是为了存储对象的容器.方便我们对元素对象进行操作.
单列集合.
Collectio接口:
|----ArrayList(底层为数组结构,线层不安全,效率高,查找快,增 删慢.)
|----List接口(元素有序,可重复)---- |-----Vector(底层仍为数组结构,由于线程安全,效率较低,增删,查 找都慢)
|-----LinkedList(底层为链表结构,线程不安全,增删快,查找慢)
ListIterator(列表迭代器)
Lsit集合特有的迭代器,里面有可以避免并发修改异常的算法.可以通过List及其子类的对象调用ListIterator()方法返回列表迭代器.
|----HashSet(底层为哈希表结构,哈希表通过重写hashCode()与 Equals()方法,保证其容器中元素对象的唯一性.)
|----Set接口(元素无序,唯一)------|----LinkedHashSet(底层为链表与哈希表结构,具有链表与哈希表共 有的特点,即元素有序(输出顺序与存储顺序相同))
|---TreeSet(底层为二叉树结构,元素唯一.
1.通过无参的构造方法,继承Comparable接口,重写compareTo()方法,实现自然排序.
2.通过参数列表为比较器对象的参数,重写compare()方法,使元素可以通过特定的顺序进行排序.)
以上的两种方法不仅可以保证元素的有序,还可以通过比较返回值不为零来保证元素的唯一性
Collection中子类遍历方法:
|----普通迭代器迭代
ArrayList:----|-----普通for循环遍历(数组结构有索引)
|-----增强for循环遍历
|-----列表迭代器进行迭代,可以避免添加元素产生的并发修改异常.
----------------------------------------------------------------------------------------------
|----普通迭代器迭代
LinkedList----|----列表迭代器迭代,避免添加元素产生的并发修改异常
|----增强for循环进行遍历.
----------------------------------------------------------------------------------------------
HashSet-----|-----普通迭代器迭代
|-----增强for循环进行遍历
LinkedHashSet(与HashSet相同)
双列集合:
Map接口
概述:由种元素对象组成的集合,成为键与值,Map接口值对键进行唯一性约束.通过HasCode()与equals()方法.
|----HashMap(键为哈希表结构的Map集合,通过对键进行哈希表约束,来保证键的唯一性.可以使用null值null键)
Map-----|----TreeMap(键为二叉树结构的Map集合,通过对键进行两种排序,可以使键有序.通过两种构造方法实现自然排序与选择器排序)
|----Hashtable(线程安全,键被底层的哈希表结构约束,其实就是通过重写hashCode()方法与equals()方法来保证元素的唯一性,可以存储键值均不为null的元素对象.
Map集合进行遍历:
两种方法:
1.先通过KeySet()方法获得键的集合,通过对键进行增强for循环或进行迭代,使用get(键)的方法来获取每个键对象的值.
2.通过entrySet()方法获取所有的键值对象,通过getKey()获取键,getValue()获取值.
|----数组结构(长度固定,有序查找方便)
数据结构:----|----链表结构(添加 删除方便)
|----栈结构(先进后出)
|----队列结构(先进先出)
|----树结构(完成排序动作)
作者:
Morrfree
时间:
2015-8-28 00:22
怎么格式就乱了呢?无语
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2