JAVA----集合Collection
集合
集合框架图
集合概念:
用于存储多个对象的单一对象(容器),存储的数据叫元素,元素都是引用类型。
集合框架:
用于模拟现实生活中的存储容器,因此集合类型不单单是一种。有很多类型,设计成各种存储的数据结构。这些类型统称为集合框架。
注意:元素必须是引用数据类型的数据,不能是基本数据类型的数据。
容器内存储的都是对象的地址。
泛型机制
JDK1.5新特性:在对元素进行操作时,比如调用元素的方法等,我们必须知道元素的类型,因此在编程中增加了大量代码,来进行强制转换,增加了开发难度。因此1.5开始支持了一个新特性,叫泛型机制。用来规定容器中存储的元素的类型。此机制可以在编译期间就进行判断元素的类型。
集合与数组的区别
数组:可以存储基本数据类型也可以存储引用数据类型
集合:只能存储引用数据类型
Collection接口
是集合框架的*父接口,用来定义常用的方法。子类需要实现相应的方法逻辑.
常用方法
boolean add(E e):
将对象e添加到容器中
int size()
返回集合元素的个数
boolean addAll(Collection c)
将集合c里的元素添加到此集合中
void clear()
清空集合元素
boolean contains(Object obj)
用于判断集合中是否存在与obj相同的元素
boolean containsAll(Collection c)
用于判断此集合中是否包含集合c中的所有元素
boolean isEmpty()
用于判读集合元素是否为空
boolean remove(Object o)
用于移除集合中的某一元素
boolean removeAll(Collection c)
用于移除此集合中与c*有元素
boolean retainAll(Collection c)
用于保留此集合中与c*有元素
public class TestCollection03 {
public static void main(String[] args) {
/* 集合c1中存储java,c,c++,python */
/* 集合c2中存储c++,python,php,c# */
/* 从c1中移除c2中的共有元素 */
Collection<String> c1 = new ArrayList<String>();
c1.add("java");
c1.add("c");
c1.add("c++");
c1.add("python");
System.out.println(c1);
Collection<String> c2 = new ArrayList<String>();
c2.add("c++");
c2.add("python");
c2.add("php");
c2.add("c#");
// c1.removeAll(c2);
// System.out.println(c1);
/* 保留c1中和c2中的共有元素 */
c1.retainAll(c2);
System.out.println(c1);
/*
* 想使用数组元素时,必须强制转换 相对来说麻烦
*/
Object[] obj = c2.toArray();
/*
* 为了避免强制转换这一步操作 调用重载方法,传一个元素类型的数组对象即可
*/
String[] arr = c2.toArray(new String[0]);
System.out.println(arr[1].length());
}
}
下一篇: WebGL编程指南(1)简介