更新时间:2020-01-08 10:24:04 来源:极悦 浏览1956次
Collection
数组: 存储同一种数据类型的集合容器。
数组的特点:
1. 数组是相同数据类型(数据类型可以为任意类型)的有序集合
2. 数组也是对象。数组元素相当于对象的成员变量(详情请见内存图)
3. 数组长度的确定的,不可变的。如果越界,则报:ArrayIndexOutofBoundsException
4.数组中的元素与元素之间的内存地址是连续的。
初始化
默认初始化:数组元素相当于对象的成员变量,默认值跟成员变量的规则一样。数字0,布尔false,char\\u0000,引用:null。
初始化方法:
1:构造器方法,Collection的构造器接受另外一个Collection,用它来进行初始化
比如:
Collection
2:Collections.addAll()方法接受一个Collection对象,以及一个数组或是一个用逗号分割的列表,将其添加到Collection中
比如:
Collections.addAll(collection,11,12,13,14,15);
Collections.addAll(collection,moreInts);
3:Collection.addAll()方法将一个Collection对象全部添加进去
比如:collection.addAll(Arrays.asList(moreInts));
collection主要方法:
boolean add(Object o):添加对象到集合
boolean remove(Object o):删除指定的对象
int size():返回当前集合中元素的数量
boolean contains(Object o):查找集合中是否有指定的对象
boolean isEmpty():判断集合是否为空
Iterator iterator():返回一个迭代器
boolean containsAll(Collection c):查找集合中是否有集合c中的元素
boolean addAll(Collection c):将集合c中所有的元素添加给该集合
void clear():删除集合中所有元素
void removeAll(Collection c):从集合中删除c集合中也有的元素
void retainAll(Collection c):从集合中删除集合c中不包含的元素
collection主要子接口对象:
1、Collection接口
Collection是最基本集合接口,它定义了一组允许重复的对象。Collection接口派生了两个子接口Set和List,分别定义了两种不同的存储方式
2、 Set接口
Set接口继承于Collection接口,它没有提供额外的方法,但实现了Set接口的集合类中的元素是无序且不可重复。
特征:无序且不可重复。
3、 List接口
List接口同样也继承于Collection接口,但是与Set接口恰恰相反,List接口的集合类中的元素是对象有序且可重复。
特征:有序且可重复。
两个重要的实现类:ArrayList和LinkedList
1.ArrayList特点是有序可重复的
2.LinkedList是一个双向链表结构的。
4.Map
Map没有继承Collection接口,Map提供key到value的映射。
├Hashtable 任何非空(non-null)的对象。同步的
├HashMap 可空的对象。不同步的 ,但是效率高,较常用。 注:迭代子操作时间开销和HashMap的容量成比例。因此,如果迭代操作的性能相当重要的话,不要将HashMap的初始化容量设得过高,或者load factor过低。
└WeakHashMap 改进的HashMap,它对key实行“弱引用”,如果一个key不再被外部所引用,那么该key可以被GC回收。
SortMap---TreeMap
5.iterator
它是一个对象,它可以遍历并选择序列中的对象。
Java中的Iterator功能比较简单,并且只能单向移动:
(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。
(2) 使用next()获得序列中的下一个元素。
(3) 使用hasNext()检查序列中是否还有元素。
(4) 使用remove()将迭代器新返回的元素删除。
Java中的集合这节先讲到这,接下来会逐一讲解它们的作用和用法。
Javase相关视频免费下载学习
Javase视频教程【301集】:
Java视频下载【JavaSE进阶】:
以上就是极悦注册机构小编介绍的“JavaSE基础视频教程-持有对象之集合”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
相关内容
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习