public interface Collection extends Iterable
1.collection实现子类可以存放多个元素,每个元素可以是Object
2.有些Collection的实现类,可以存放重复的元素,有些不可以
3.有些Collection的实现类,有些是有序的(List),有些不是有序(Set)
4.Collection 接口没有直接的实现子类,是通过它的子类接口Set和List来实现的
Collection接口常用方法,以实现子类ArrayList
1.add:添加单个元素
2.remove:删除指定元素
3.contains:查找元素是否存在
4.size:获取元素个数
5.isEmpty:判断是否为控股
6.clear:清空
7.addAll:添加多个元素
8.containsAll:查找多个元素是否都存在
9.removeAll:删除多个元素
10.说明: 以 ArrayList实现类来演示
public class CollectionMethod {
@SuppressWarnings({"all"})
public static void main(String[] args) {
List list = new ArrayList();
//1.add:添加单个元素
list.add("jack");
list.add(10);//list.add(new Integer(10))
list.add(true);
System.out.println("list="+list);
//2.remove:删除指定元素
//list.remove(0);//删除第一个元素
list.remove("jack");//指定删除某个元素
System.out.println("list="+list);
//3.contains:查找元素是否存在
System.out.println(list.contains("jack"));//t
//4.size:获取元素个数
System.out.println(list.size());//2
//5.isEmpty:判断是否为控股
System.out.println(list.isEmpty());//f
//6.clear:清空
list.clear();
System.out.println("list="+list);//list=[]
//7.addAll:添加多个元素
ArrayList list2 = new ArrayList();
list2.add("红楼梦");
list2.add("三国演义");
list.addAll(list2);
System.out.println("list="+list);
//8.containsAll:查找多个元素是否都存在
System.out.println(list.containsAll(list2));//t
//9.removeAll:删除多个元素
list.add("聊斋");
list.removeAll(list2);
System.out.println("list="+list);//[聊斋]
}
}
基本介绍
1.Iterator对象称为迭代器,主要用于遍历Collection 集合中的元素。
2.所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个
实现了Iterator接口的对象,既可以返回一个迭代器。
3.Iterator 的接口
4.Iterator 仅用于遍历集合,Iterator 本身并不存放对象
提示:在调用iterator.next()方法之前必须要调用iterator.hasNext()进行检测。
若不调用,且下一个记录无效,直接调用it.next()会抛出
NoSuchElementException异常
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionIterator {
@SuppressWarnings({"all"})
public static void main(String[] args) {
Collection col = new ArrayList();
col.add(new Book("三国演义","罗贯中",10.1));
col.add(new Book("小李飞刀","古龙",5.1));
col.add(new Book("红楼梦","曹雪芹",34.3));
//System.out.println("col="+col);
//遍历col集合
//1.先得到col对应的 迭代器
Iterator iterator = col.iterator();
//2.使用while 循环遍历即可
while(iterator.hasNext()){//判断是否还有数据
//返回下一个元素,类型是Object
Object obj = iterator.next();
System.out.println("obj="+obj);
}
//3.当退出while循环后,这时iterator迭代器,指向最后的迭代器
// iterator.next();//NoSuchElementException
//4.如果希望再次遍历,需要重置迭代器
iterator=col.iterator();
System.out.println("==第二次遍历==");
while (iterator.hasNext()) {
Object obj = iterator.next();
System.out.println("obj="+obj);
}
}
}
class Book{
private String s1;
private String s2;
private double d1;
public Book(String s1, String s2, double d1) {
this.s1 = s1;
this.s2 = s2;
this.d1 = d1;
}
public String getS1() {
return s1;
}
public void setS1(String s1) {
this.s1 = s1;
}
public String getS2() {
return s2;
}
public void setS2(String s2) {
this.s2 = s2;
}
public double getD1() {
return d1;
}
public void setD1(double d1) {
this.d1 = d1;
}
@Override
public String toString() {
return
"s1='" + s1 + '\'' +
", s2='" + s2 + '\'' +
", d1=" + d1;
}
}