Java集合类存放于 java.util 包中,是一个用来存放对象的容器
针对Java中的数组定长,Java提出了集合框架,实现了一种变长存储数据的容器—集合
数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合。如下:
Iterator迭代器
Iterator迭代器:走访器,可以理解为集合中元素的指针
它是Java集合的顶层接口(不包括map系列的集合,Map接口是map系列集合的顶层接口)
public interface Iterator<E> {
boolean hasNext(); //判断是否有后续元素
E next();// 指针向后移动,同时返回指向的数据
default void remove() {// 删除指针所指向的元素
throw new UnsupportedOperationException("remove");
}
//使用lambda表达式的方式遍历所有元素
default void forEachRemaining(Consumer<? super E> action) {
Objects.requireNonNull(action);
while (hasNext())
action.accept(next());
}
// Iterable接口用以表示实现类是可以迭代的
Iterator<T> iterator();
无序、允许重复
public interface Collection extends Iterable一般说Collection是集合框架的顶级接口,但是事实上并不是顶级接口
提供的方法:
int size(); 获取集合中的元素个数 区分容积和元素个数
boolean isEmpty()判断集合中的元素个数是否为0
注意:只判断是否没有元素,但是并不判断集合对象是否为null
boolean contains(Object o)用于判断集合中是否包含对象
boolean add(Object o)用于向集合中追加元素o,成功true失败false
boolean remove(Object o)删除集合中的指定元素o,成功true失败false
Iterator iterator();获取迭代器,通过迭代器遍历集合中的每个元素
Object[] toArray();将集合转换为数组
void clear();删除集合中的所有元素
public class Test2 {
public static void main(String[] args) {
Collection cc = new ArrayList();
cc.add(123);
cc.add("bbbb");
cc.add(new Date());
System.out.println(cc.size());
System.out.println(cc.isEmpty());
System.out.println(cc.contains("bbbb"));
System.out.println(cc.contains(new Date()));
System.out.println(cc.remove(123));
System.out.println(cc.size());
}
}