黑马程序员技术交流社区
标题: java基础--集合 [打印本页]
作者: 周发建 时间: 2016-3-25 14:42
标题: java基础--集合
一、集合(一)概述Collection(有时候也叫container)是一个简单的对象,它把多个元素组成一个单元。集合可以用来存储、检索、
操作、通信。通常情况下,集合代表了一个自然数据项,比如一组手牌(牌的集合)、邮件文件夹(邮件的集合)、电
话目录(姓名和电话的映射)
集合是用于存放对象的容器
可以存放任意类型
集合的长度可变
注意:集合中不可以存放基本数据类型
(二)集合体系对对象存放的不同,形成了不同的容器,不同的容器,内部结构也不同。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wpsBA60.tmp.jpg
Collection
[add/addAll、remove/removeAll、clear、contains/containsAll、isEmpty、size、
iterator、retainAll取交集、
|--List 有序、重复、索引
|--ArrayList 数组结构 index
|--LinkedList 链表结构 first/last
|--Vector 数组结构,同步,枚举迭代
|--Set 无序、唯一
|--HashSet 哈希表结构, hashCode()、equals()
|--LinkedHashSet 唯一,有序
|--TreeSet 二叉树结构
Map: 键值集合[键就是Set集合
[put、putAll、clear、remove、containsKey、containsValue、isEmpty、
get、size、keySet、entrySet、
|--HashMap
|--LinkedHashMap
|--TreeMap
|--Hashtable
|--Properties 结合IO使用
(三)迭代器Iterator迭代器的具体实现要根据集合内部结构来实现,所以就需要把迭代器的实现定义在集合的内部
内部类实现Iterator接口
调用集合中的迭代方法获取迭代器对象
Iterator it = cll.iterator();
hasNext(); --- 判断迭代器中有没有迭代的对象
next() --- 返回迭代的下一个对象
List独有的迭代方式
ListIterator lt = list.listIterator(); 可以在迭代的过程中有更多的操作
Add(E) --- 添加
Remove() --- 移除
Set(E) --- 替换
nextIndex() ---下一个索引
previousIndex() --- 上一个索引
hasNext() --- 判断有否下一个
Next() --- 下一个
Previous() --- 上一个
(四)HashSet先用hashCode确定位置,如果位置上有值,就再用equals判断该值是否与传入的值相同。
存储自定义对象
一般需要覆盖hashCode和equals方法
删除ArrayList集合中的元素,是根据equals判断的
删除HashSet集合中的元素,是根据hashCode、equals来判断的
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |