集合
来源:互联网 发布:linux while跳出循环 编辑:程序博客网 时间:2024/05/17 22:33
集合
集合的由来:
我们学习的是面向对象的语言,而面向对象的语言对事物的表述都是通过对象体现的.那么为了方便的操作多个多个对象,我们就需要把这多个对象存储起来,那么既然是存储多个对象,我们就需要使用一个容器,那么在我么以前学习的知识里面,那些都是容器呢?数组 , StringBuffer . 我们都知道StringBuffer得到的只能是字符串,StringBuffer不能满足我们的需求,那么只有数组(对象数组).而我们数组不能满足我们变化的需求,于是java就给我提供了另一个容器,这就是集合.
数组和集合的区别:
a: 长度的区别:
数组的长度是固定的
集合的长度是可变的
b: 存储数据的类型不同
数组可以存储基本数据类型,也可以存储引用数据类型
集合只能存储引用数据类型
c: 内容的不同
数组只能存储同一种类型的数据
集合可以存储不同种类型的数组
我们都知道集合是用来存储多个对象的,即使是储存多个对象,有时候我们的需求不一样,比如: 我们想让这个元素排个序,我想让这些元素不能重复.那么针对不同的需求java就给我们提供了不同的集合类 , 这个集合的数据结构不同,而数据结构不同不重要,重要的是你们都可以帮我存储数据,并且我们还可以使用这些数据.那么由此可见,这些集合类应该存在共性的内容,既然存在共性的内容,我们就因该向上抽取,这些就形成了集合的继承体系结构
数据结构:存储数据的方式
Collection的概述:
Collection层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection的元素。
一些 collection 允许有重复的元素,而另一些则不允许。一些 collection是有序的,而另一些则是无序的。
JDK不提供此接口的任何直接实现:它提供更具体的子接口(如 Set 和 List)实现。
Collection的功能概述:
a: 添加的功能
boolean add(Object obj): 添加元素
boolean addAll(Collection c): 添加一个集合的元素
b: 删除的功能
void clear(): 移除所有的元素
boolean remove(Object o): 移除指定的元素
boolean removeAll(Collection c):移除一个集合的元素,移除一个以上算是移除还是移除所有的才算移除?
c: 获取的功能
Iterator iterator(): 获取遍历集合的迭代器<重点 >
d: 长度的功能
int size(): 获取集合元素的个数
e: 判断的功能
boolean contains(Object o): 判断集合中是否包含指定的元素
boolean containsAll(Collection c):判断集合中的否包含一个集合的元素. 包含一个以上算是包含,还是包含所有算是包含?
boolean isEmpty(): 判读集合是否为空
f: 获取交集的功能
boolean retainAll(Collection c): 获取交集. 获取到的交集的元素去哪里了,返回的boolean类型的值表示的是神马意思?
g: 集合转换成数组的功能:
Object[] toArray(): 把集合转换成数组
Iterator iterator(): 获取遍历集合的迭代器
Object next():获取下一个元素,并将指针向后移动一位
boolean hasNext():判断集合中是否还存在元素
List: 元素可以重复,并且是有序(存储和取出的顺序)的,每一个元素都有一个对应的索引
void add(int index,Object obj): 在指定索引处添加元素
Object remove(int index): 移除指定索引处的元素
Object get(int index): 获取指定索引处的元素
Object set(int index,Object obj): 更改指定索引处的元素
List 的三个儿子
ArrayList:底层实现是数组,数组的特点,查询块 ,增删慢
线程不同步,不安全 ,效率高
Vector:
底层实现是数组,数组的特点,查询块 ,增删慢
线程同步 , 安全 ,效率低
LinkedList:
底层的数据结构是链表,链表的特点是:查询慢, 增删块
线程不同步,不安全 ,效率高
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- 集合
- C#调用存储过程
- 修改android应用包名
- 深入理解JavaScript系列(48):对象创建模式(下篇)
- 2.1 默认构造函数的构造操作
- 3D数学 矩阵乘法编程
- 集合
- 击穿缓存
- 面试试题总结
- 深入理解JavaScript系列(47):对象创建模式(上篇)
- Android 回调接口是啥,回调机制详解
- Struts2常量的具体用法实例
- 欢迎使用CSDN-markdown编辑器
- Qt连接Sql server错误ConnectionOpen (Connect()). QODBC3: Unable to connect"
- 奖学金文章连载一 49期刘慧