JAVA学习笔记——集合Collection
来源:互联网 发布:淘宝降权查询网站 编辑:程序博客网 时间:2024/05/16 06:51
1、数组和集合的区别:
<1>长度区别:
数组的长度固定
集合长度可变
<2>内容不同
数组存储的是同一种类型的元素
集合可以存储不同类型的元素
<3>元素的数据类型
数组可以存储基本数据类型,也可以是引用类型
集合只能存储引用类型
2、Collection功能概述:
(1) 添加功能
boolean add(Object obj) : 添加一个元素
boolean addAll(Collection c) : 添加一个集合的元素
(2) 删除功能
void clear() : 移除所有元素
boolean remove(Object o) : 移除一个元素
boolean removeAll(Collection c) : 移除该集合与c集合中相同的元素,只要有一个删除,就返回true
(3) 判断功能
boolean contains(Object o) : 判断集合中是否包含指定的元素
boolean contains(Collection c) : 判断集合中是否包含指定的集合元素,只有包含所有的元素才叫包含。
boolean isEmpty():判断集合是否为空
(4) 获取功能:遍历
Iterator iterator():迭代器,集合专用的遍历方法,Iterator是一个接口,具体实现是在不同的Collection的不同子类中通过内部类实现不同的遍历方法的。
常用方法:
Object next() : 获取元素,并移动到下一个位置
NoSuchElementException:报错表示没有这样的元素,说明已经找到最后了。
boolean hasNext():如果仍有元素可以迭代,则返回ture
//例如: //创建集合对象 Collection<String> c = new ArrayList() ; //创建并添加元素 c.add("hello") ; c.add("world") ; c.add("java") ; Iterator it = c.iterator() ; //Iterator 是一个接口,这里返回的是它的一个子类,即多态 //通过迭代器对象的hasNext()方法判断有没有元素 while(it.hasNext()){ String s = it.next() ; //注意:不要多次使用next()方法,否则返回的就是以一个对象的值 System.out.println(s) ; }
(5) 长度功能
int size() : 元素的个数(注意,集合是没有length()方法的)
(6) 交集功能
boolean retainAll(Collection c):保存两个集合的交集,结果保存在调用该方法的集合中。返回值表示调用该方法的集合是否发生改变。变了返回true。
(7) 把集合转换为数组
Object[] toArray() : 转成数组可以实现集合的遍历,但通常还是用迭代器iterator
3、集合的使用步骤:
(1)创建集合对象
(2)创建元素对象
(3)把元素添加到集合
(4)遍历集合
<1>通过集合对象获取迭代器对象
<2>通过迭代器对象的hasNext()方法判断是否有元素
<3>通过迭代器对象的next()方法获取元素并移动到下一个位置
- JAVA学习笔记——集合Collection
- JAVA学习笔记——Collection集合总结
- JAVA学习笔记---集合(Collection)
- 学习整理——Java集合Collection
- Java基础学习笔记15——(对象数组,集合(Collection),集合(List))
- Java基础学习笔记16——(Set集合,Collection集合总结)
- Java学习笔记之集合Collection&Map
- Java学习笔记 --- Collection集合框架
- collection集合学习笔记
- 黑马程序员——Java学习笔记之11——“Collection集合”总结
- Java集合框架之Collection学习和笔记——黑马训练营
- (32)Java学习笔记——集合框架 / Collection 接口 / Iterator 迭代器
- Java集合框架学习笔记之集合与Collection API
- Java学习笔记之集合(一):Collection集合的方法
- 【Swift】学习笔记(四)——集合(Collection)
- java基础学习笔记——collection
- Java集合—Collection篇
- 黑马程序员——java基础学习--Collection集合
- VS2015编译Openssl-1.1.0f
- Linux 中管道
- jquery通过 ajax 实现 Oracle数据库 数据操作
- 86、87、88
- djagno电子书文档
- JAVA学习笔记——集合Collection
- jsp中文件上传
- Linux内核中的线程死锁
- CVE-2016-0095浅析-Win32k.sys特权提升漏洞
- 36-40.个人练习
- iOS 画图(矩形、圆、椭圆、弧度、扇形。。。)
- sklearn学习笔记
- 看我是如何跟羊毛党战斗的之我也变成羊毛党
- RedHat-7.0 离线安装yum源