Collection集合框架
文章目录
前言
包含(List接口:Vector集合、ArrayList集合、LinkedList集合)
特点
1、有序的集合,存取顺序一样
2、可以存储重复元素
3、有索引可以使用普通的for遍历
Set接口:TreeSet集合、HashSet集合(无序集合没有重复元素)、LinkedHashSet集合)
特点:
1、不允许重复元素
2、没有索引,不能使用普通的for循环来遍历
两个接口共性抽取形成父接口Collection(定义的是单列集合共性的方法,所有单列集合都可以使用的共性方法)
集合框架的学习:
1、学习顶层:顶层接口/抽象类中的共性方法所有 子类都可以使用
2、学习底层:底层不是接口就是抽象类,需要了解底层的子类创建对象使用
一、Collection接口常用方法
提供所有单列集合都可以使用的共性方法
public boolean add(E e)把给定的对象添加到集合
public void clear();清空集合中所有的元素
public boolean remove(E e);将给定的对象从集合当中删除,如果没有指定的元素会删除失败,返回false
public boolean contains(E e);判断当前集合中是否包含给定的对象
public boolean isEmpty(E e);判断集合是否为空
public int size();返回集合当中的元素个数
public Object[] toArray();把集合当中的元素,存储到数组当中
例如HashSet类 (无序且无重复元素)
public class Demo1Collection {
public static void main(String[] args) {
Collection<String> coll=new HashSet<>();
//向无序无重复元素的HashSet集合当中添加元素
coll.add("Arvin");
coll.add("Kevin");
coll.add("Kiki");
System.out.println("集合当中的元素:"+coll);
coll.remove("Kiki");
System.out.println("通过remove删除指定元素Kiki后:"+coll);
boolean a=coll.isEmpty();
System.out.println("isEmpty判断集合是否为空"+a);
System.out.println("通过size方法获取集合的元素个数:"+coll.size());
System.out.println("通过contains方法判断集合当中是否有Kiki元素:"+coll.contains("Kiki"));
coll.clear();
System.out.println("通过clear方法清空集合元素后查询是狗为空:"+coll.isEmpty());
Object[] array=coll.toArray();
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
运行结果:
集合当中的元素:[Kevin, Arvin, Kiki]
通过remove删除指定元素Kiki后:[Kevin, Arvin]
isEmpty判断集合是否为空false
通过size方法获取集合的元素个数:2
通过contains方法判断集合当中是否有Kiki元素:false
通过clear方法清空集合元素后查询是狗为空:true
二、Iterator接口
迭代:即对Collection集合当中通用的取出元素的方式
两个常用的方法:
public boolean hasNext();如果任然有元素可以迭代,则返回true
判断集合有没有下一个元素,有就返回true,没有返回false
E next(ÿ