- 概念:对象的容器,定义了对多个对象进行操作的常用方法。可实现数组的功能。
- 和数组的区别:
- (1) 数组长度固定,集合长度不固定
- (2)数组可以存储基本类型和引用类型,集合只能存储引用类型
- 位置:java.util.*;
1.Collection集合
2.Collection父接口
- 特点:代表一组任意类型的对象,无序,无下标,不能重复。
- 方法
- boolean add(Object obj) //添加一个对象。
- boolean addAll(Collection c) //将一个集合中的所有对象添加到此集合中。
- void clear() //清空此集合中的所有对象
- boolean contatins(Object o ) //检查此集合中是否包含o对象
- boolean equals(Object o) //比较此集合是否与指定对象相等。
- boolean isEmpty() //判断此集合是否为空
- boolean remove(Object o) //在此集合中移除o对象
- int size() //返回此集合中的元素个数。
- Object[] toArray() //将此集合转换成数组。
public class Demo4{
public static void main(String args[]){
//创建集合
Collection collection=new ArrayList();
//(1)添加元素
Collection.add("苹果");
Collection.add("西瓜");
Collection.add("榴莲");
System.out.println("元素个数:"+collection.size());
System.out.println(collection);
//(2)删除元素
collection.remove("榴莲");
collection.clear();
System.out.println("删除之后:"collection.size());
//(3)遍历元素【重点】
//3.1使用增强for
for(Object object:collection){
System.out.println(object);
}
//3.2使用迭代器(迭代器专门用来遍历集合的一种方式)
//hasNext();有没有下一个元素,
//next();获取下一个元素
//remove();删除当前元素
Iterator it=collection.iterator();
while(it.hasNext()){
String object=(String)it.next();
System.out.println(s);
//collection.remove(s); 报异常,不能使用
it.remove();
}
System.out.prinln("元素个数:"+collection.size());
//(4)判断
System.out.println(collection.contains("西瓜"));
System.out.println(collection.isEmpty());
}
}
使用Collection保持对象
public calss Demo2{
public static void main(String[] agrs){
//新建Collection对象
Collection collection=new ArrayList();
Student s1=new Student("张三",20);
Student s2=new Student("张无忌",18);
Student s3=new Student("王二",22);
//1.添加数据
collection.add(s1);
collection.add(s2);
collection.add(s3);
System.out.println("元素个数:"+collection.size());
System.out.println(collection.toString());
//2.删除
collection.remove(s1);
//collection.remove(new Student("王二",22));
collection.clear();
System.out.println("删除之后:"+collection.size());
//3.遍历
//3.1增强for
for(Object object:collection){
Student s=(Student)object;
System.out.println(s.toString());
}
//3.2迭代器:hasNext() next(); remove();迭代过程中不能使用collection的删除方法
Iterator it=Collection.iterator();
while(it.hasNext()){
Student s=(Student)it.next();
System.out.println(s.toString());
}
//4.判断
System.out.println(collection.contains(s1);
System.out.println(collection.isEmpty());
}
}