黑马程序员 Java基础——Collection接口
来源:互联网 发布:商家如何退出农村淘宝 编辑:程序博客网 时间:2024/05/17 13:39
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
集合
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就要对对象进行存储,集合就是存储对象最常用的一种方式。
数组和集合的不同之处:
数组虽然也可以存储对象,但长度是固定的;可以存储任意数据类型。
集合长度是可变的。集合只能存储对象。
集合的特点:集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。
集合及其子集合:
Collection
List Set
ArrayList LinkedList Vector HashSet TreeSet
这里Collection是老大,具有子类所以的基本方法和功能,学习中,先掌握老大的方法后,再去学习List和Set会更加熟练,只需掌握他们的特有功能即可。同理,相对于他们,子类也只需掌握特有方法和功能。
Collection
|--List:元素是有序的,元素可以重复,因为该集合体系有索引。
|--ArrayList:底层的数据结构是数组结构。特点:元素的查询速度很快,但是增删稍慢。线程不同步。
|--LinkedList:底层的数据结构是链表数据结构。特点:查询速度慢,但是增删操作快速。
|--Vector :底层是数组数据结构。线程同步。被ArrayList替代了。
|--Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复。
|--HashSet:底层数据结构是哈希表。 线程是非同步的
|--TreeSet:可以对Set集合中的元素进行排序。底层数据结构是二叉树
Collection中的常用方法:
添加功能(修改功能):
boolean add(Object o):该方法用于向集合里面添加一个元素,若集合对象被添加操作改变了,返回true.
boolean addAll(Collection c):把集合c里面的所有元素添加到指定集合里面去,如果集合对象被添加操作改变了返回true.
删除功能:
void clear():清除集合里面的所有元素,将集合长度变为0。
boolean remove(Object o):删除集合中指定元素o。
boolean removeAll(Collection c):从集合中删除集合c里面的元素。若删除一个或以上返回true。
判断功能:
boolean contains(Object o):返回集合里是否包含指定的元素。
boolean containsAll(Collection c):返回集合里是否包含集合c内所有的元素。
boolean isEmpty():返回集合是否为空(长度是否为0)。
获取功能:
Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。
boolean retainAll(Collection c):从集合中删除集合c里不包含的元素。
int size():得到集合元素的个数。
Object[] toArray():把集合转成一个数组,所有集合元素变成数组元素。
针对Collection集合我们到底使用谁呢?
唯一吗?
是:Set
排序吗?
是:TreeSet
否:HashSet
如果你知道是Set,但是不知道是哪个Set,就用HashSet。
否:List
要安全吗?
是:Vector
否:ArrayList或者LinkedList
查询多:ArrayList
增删多:LinkedList
如果你知道是List,但是不知道是哪个List,就用ArrayList。
如果你知道是Collection集合,但是不知道使用谁,就用ArrayList。
如果你知道用集合,就用ArrayList。
总结:
Collection集合遍历的时候,可以用itrator遍历器,因为这是集合的专用遍历器,而增强for数组和集合都能用,但是用增强for的时候,应该先判断遍历对象是否为null。
- 黑马程序员 Java基础——Collection接口
- 黑马程序员:Java基础总结----接口 Collection<E>&iterator
- 黑马程序员《java基础总结(八)》(集合--Collection接口)
- 黑马程序员---Java基础---单列集合Collection(接口)
- 黑马程序员——JAVA基础之简述集合collection
- 黑马程序员——java基础学习--Collection集合
- 黑马程序员——java基础---集合--Collection
- 黑马程序员—java基础_集合Collection
- 黑马程序员——Java基础--接口
- 黑马程序员—集合框架Collection接口与List接口
- 黑马程序员——Java集合Collection
- 黑马程序员——Java Collection集合
- 黑马程序员---java基础之集合Collection
- 黑马程序员 java基础Collection随笔
- 黑马程序员-----Java基础-----Collection-list
- 黑马程序员-----Java基础-----Collection-Set
- 黑马程序员-Java基础:集合(Collection)
- Java基础——Collection接口
- vix --- 免路径输入的vim
- cocos Httpclient 上传文件到服务器
- 如何保持守护进程被杀死后能够再次启动
- Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project Th
- Flume学习04 — Sink
- 黑马程序员 Java基础——Collection接口
- 什么是汇编语言(一) 汇编底层原理,指令字节码
- debian 中定时任务cron使用
- 理解字符集和编码
- FragmentPagerAdapter 和 FragmentStatePagerAdapter 区别
- UI17_NetWorkingTool
- 什么是汇编语言(二) 高级语言与汇编
- 基类指针指向派生类对象
- 自定义popupWindow