10002--Java集合--Collection 接口
2015-07-04 00:40
411 查看
--Collection 接口是
List、Set和Queue接口的父接口,
该接口里定义的方法既可用于操作 Set集合,
也可用于操作 List
和 Queue 集合。
--JDK不提供此接口的任何直接实现,
而是提供更具体的子接口(如:Set和List)实现。
--在 Java5
之前,Java 集合会丢失容器中所有对象的数据类型,
把所有对象都当成 Object类型处理;
从 Java5
增加了泛型以后,Java集合可以记住容器中对象的数据类型
常用方法
size()--集合中元素个数
add(Object)--向集合中添加一个元素
addAll(collection)--讲coll中包含的所有元素添加到当前集合
isEmpty()--判断是否为空
clear()--清空元素
contains(object)--判断集合中是否包含指定的obj元素
判断的依据:根据元素所在的类的equals()方法进行判断
明确:如果存入集合中的元素是自定义类的对象。要求:自定义类要重写equals()方法!
containsAll(collection)
retainAll(coll2)--求当前集合与coll的共有的元素,返回给当前集合
remove(object)--删除集合中的obj元素。若删除成功,返回true。否则,返回false
removeAll(collection)--从当前集合中删除包含在coll中的元素。
hashCode()--
toArray()--将集合转化为数组
iterator()--迭代器
Iterator it = coll.iterator();
while(it.hasNext())
{
sysout(it.next());
}
lIterator对象称为迭代器(设计模式的一种),主要用于遍历Collection集合中的元素。
l
l所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象。
l
lIterator 仅用于遍历集合,Iterator本身并不提供承装对象的能力。
如果需要创建 Iterator对象,则必须有一个被迭代的集合。
* 1.存储对象可以考虑:①数组 ②集合
* 2.数组存储对象的特点:Student[] stu = new Student[20]; stu[0] = new Student();....
* >弊端:①一旦创建,其长度不可变。②真实的数组存放的对象的个数是不可知。
* 3.集合
* Collection接口
* |------List接口:存储有序的,可以重复的元素
* |------ArrayList(主要的实现类)、LinkedList(对于频繁的插入、删除操作)、Vector(古老的实现类、线程安全的)
* |------Set接口:存储无序的,不可重复的元素
* |------HashSet、LinkedHashSet、TreeSet
* Map接口:存储“键-值”对的数据
* |-----HashMap、LinkedHashMap、TreeMap、Hashtable(子类:Properties)
List、Set和Queue接口的父接口,
该接口里定义的方法既可用于操作 Set集合,
也可用于操作 List
和 Queue 集合。
--JDK不提供此接口的任何直接实现,
而是提供更具体的子接口(如:Set和List)实现。
--在 Java5
之前,Java 集合会丢失容器中所有对象的数据类型,
把所有对象都当成 Object类型处理;
从 Java5
增加了泛型以后,Java集合可以记住容器中对象的数据类型
常用方法
size()--集合中元素个数
add(Object)--向集合中添加一个元素
addAll(collection)--讲coll中包含的所有元素添加到当前集合
isEmpty()--判断是否为空
clear()--清空元素
contains(object)--判断集合中是否包含指定的obj元素
判断的依据:根据元素所在的类的equals()方法进行判断
明确:如果存入集合中的元素是自定义类的对象。要求:自定义类要重写equals()方法!
containsAll(collection)
retainAll(coll2)--求当前集合与coll的共有的元素,返回给当前集合
remove(object)--删除集合中的obj元素。若删除成功,返回true。否则,返回false
removeAll(collection)--从当前集合中删除包含在coll中的元素。
hashCode()--
toArray()--将集合转化为数组
iterator()--迭代器
Iterator it = coll.iterator();
while(it.hasNext())
{
sysout(it.next());
}
lIterator对象称为迭代器(设计模式的一种),主要用于遍历Collection集合中的元素。
l
l所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象。
l
lIterator 仅用于遍历集合,Iterator本身并不提供承装对象的能力。
如果需要创建 Iterator对象,则必须有一个被迭代的集合。
* 1.存储对象可以考虑:①数组 ②集合
* 2.数组存储对象的特点:Student[] stu = new Student[20]; stu[0] = new Student();....
* >弊端:①一旦创建,其长度不可变。②真实的数组存放的对象的个数是不可知。
* 3.集合
* Collection接口
* |------List接口:存储有序的,可以重复的元素
* |------ArrayList(主要的实现类)、LinkedList(对于频繁的插入、删除操作)、Vector(古老的实现类、线程安全的)
* |------Set接口:存储无序的,不可重复的元素
* |------HashSet、LinkedHashSet、TreeSet
* Map接口:存储“键-值”对的数据
* |-----HashMap、LinkedHashMap、TreeMap、Hashtable(子类:Properties)
相关文章推荐
- 2015070307 - EffactiveJava笔记 - 第55条 谨慎地进行优化(3)
- Java编程思想学习笔记——一切都是对象
- Java 泛型解析,太难了,认真读才能理解
- 2015070306 - EffactiveJava笔记 - 第55条 谨慎地进行优化(2)
- 10001-Java集合--概述
- Eclipse在线集成maven M2eclipse插件
- 2015070305 - EffactiveJava笔记 - 第55条 谨慎地进行优化(1)
- 2015070304 - EffactiveJava笔记 - 第54条 谨慎使用本地方法
- eclipse 4.4 fatjar安装问题
- 代码即财富之我学Java比较器(7)
- 代码即财富之我学Java类集(8)
- 使用JUnit-4.11报java.lang.NoClassDefFoundError:
- 简单介绍java Enumeration
- eclipseJDBC
- Java Arrays,Collections中addAll使用方法和初始化容器方法
- 2015070303 - EffactiveJava笔记 - 第53条 接口优于反射机制
- (leetcode)contains duplicateIII[java]
- 在web项目中集成Spring
- springMVC第一天
- Java内存模型