Collection集合
一、集合概述
集合:集合是java中的一种容器,可以存储多个数据。
数组:长度固定,存储的是同一类型的元素。
存储的数据类型:长度可变,存储的是对象,对象的类型可以不一样。开发中一般存储多对象的时候用集合存储。
二、集合框架
集合按照存储结构可以分为两大类。
- collection是集合类的根接口,其有两个集成接口List(有序的集合,提供了索引访问方式)和Set(不能包含重复的元素)。
Map不是Collection,Map是双列的。key唯一,value无限制。
三、collection常用功能
public boolean add(E e);//添加元素
public void clear();//清空集合中所有元素
public boolean remove(E e);//把给定的对象在当前集合中删除
public boolean contains(E e);//判断当前集合是否包含某元素
public boolean isEmpty();//判断当前集合是否为空。
public int size();//返回结合元素的个数
public Object[] toArray();//把集合变为数组,变成数组之后泛型为Object
public class CollectionDemo{
public static void main(String[] args){
Collection<String> coll = new ArrayList<string>();
boolean b1 = = coll.add("张三");//true
boolean b2 =coll.remove("张三");//true
coll.clear();
boolean b3 = coll.add("李四");//true
boolean b4 =coll.contains("张三");//false
bolean empty=coll.isEmpty();//false
int size = coll.size();
Object obj = boll.toArray();
}
}
Iterator迭代器
一、迭代器使用
通用的取出集合中元素的方式。取出之前判断集合中是否有元素,有则取出,取出之后重复之前操作。
- boolean hasNext();如果集合中有下一个元素则返回true,没有则false
- E next();返回迭代的下一个元素
- Iterator迭代器是一个接口,无法直接使用,需要用实现类。Iterator Collection.iterator();返回实现类对象。
public class DemoInterator{
public static void main(String[] args){
Collection <String> coll = new ArrayList<String>();
coll.add("科比");
coll.add("科比1");
coll.add("科比2");
coll.add("科比3");
coll.add("科比4");
Iterator<String> it = coll.iterator();//本身也带泛型
while(it.hasNext()){
System.out.println(it.next());
}
}
二、迭代器原理
Iterator<String> it= coll.iterator();//获取迭代器的实现类对象,并且把指针指向集合的-1索引。
while(it.hasNext()){
String str=it.next();//取出下一个元素,把指针向后移动一位。
System.out.println(str);
}
增强for循环
for 是1.5之后出现的。底层使用的也是迭代器,只是使用for循环格式简化了迭代器书写。
for(String s:coll){
System.out.println(s);//遍历元素并输出。
}