黑马程序员技术交流社区
标题: 【每天一背】7月27号 [打印本页]
作者: 赵顺超 时间: 2014-7-27 17:38
标题: 【每天一背】7月27号
Map集合和Collection集合的区别?
1,
Map中一次存储是键值对。
Collection中一次存储是单个元素。
2,
Map的存储使用的put方法。
Collection存储使用的是add方法。
3,
Map集合没有迭代器,Map的取出,是将Map转成Set,在使用迭代器取出。
Collection取出,使用就是迭代器。
4,
如果对象很多,必须使用集合存储。
如果元素存在着映射关系,可以优先考虑使用Map存储或者用数组,
如果没有映射关系,可以使用Collection存储。
8、迭代器:Iterator(Map集合没有迭代器)
(1)迭代器就是取出集合元素的方式
(2)迭代器的作用
因为每个集合中元素的取出方式都不一样,于是就把元素的取出方式进行抽取,并定义在集合内部,
这样取出方式就可以直接访问集合内部的元素;
而每个容器的数据结构不同,所以取出动作的细节也不一样,但是有共性内容:判断和取出。
那么就将共性内容进行抽取,从而形成了接口Iterater
(3)获取迭代器的方法:
Iterator<E> iterator() 返回在此 collection 的元素上进行迭代的迭代器。
Iterator<E> iterator() 返回在此 set 中的元素上进行迭代的迭代器。
(3)迭代器方法:
boolean hasNext() 如果仍有元素可以迭代,则返回 true。
E next() 返回迭代的下一个元素。
void remove() 从迭代器指向的collection中移除迭代器返回的最后一个元素(可选操作)。
9、列表迭代器:ListIterator
(1)List集合特有的迭代器ListIterator是Iterator的子接口,在迭代时,不可以通过集合对象的
方法操作集合中的元素,因为会发生ConcurrentModificationException(当方法检测到对象的并发修改,
但不允许这种修改时,抛出此异常)
(2)Iterator方法有限,只能对元素进行判断、取出和删除的操作
ListIterator可以对元素进行添加和修改动作等。
(3)获取列表迭代器方法:
ListIterator<E> listIterator() 返回此列表元素的列表迭代器(按适当顺序)。
ListIterator<E> listIterator(int index)
返回此列表中的元素的列表迭代器(按适当顺序),从列表中指定位置开始。
(4)列表迭代器方法:
void add(E e) 将指定的元素插入列表(可选操作)。
boolean hasPrevious() 如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。
int nextIndex() 返回对 next 的后续调用所返回元素的索引。
E previous() 返回列表中的前一个元素。
int previousIndex() 返回对 previous 的后续调用所返回元素的索引。
void set(E e) 用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。
10、堆栈和队列
堆栈:先进后出,比如杯子里的水
队列:先进先出,比如水管的水
作者: @for 时间: 2014-7-27 17:46
领教了。。。。。。。。。。。。。。。
作者: hejinzhong 时间: 2014-7-27 18:14
这总结!有点耐心
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |