Java中Collection接口的基础介绍

1-1.概述

集合,是Java中提供的一种容器,能够用来存储多个数据。java

集合与数组的区别:数组的长度是固定不变的,集合的长度是可变的;数组中存储的是同一类型的元素,能够存储基本数据类型,也能够存储对象,而在集合中只能对象。数组

1-2.集合的基本框架介绍

常见集合有:Vector集合(有序集合),ArrayList集合(有序集合),LinkedList集合(有序集合),TreeSet集合(无序集合,存入和取出的顺序可能不同),HashSet集合(无序集合,存入和取出的顺序可能不同,LinkedHashSet集合(有序集合)。框架

在学习集合中,应该掌握如何使用集合存储数据;会遍历集合,把数据取出来;掌握每种集合的特性。学习

1-3.LIst接口:

是Vector集合,ArrayList集合,LinkedList集合的共性抽取,造成的父类(接口);指针

1).是有序的集合(存储和取出元素的顺序相同)。对象

2).容许存储重复的元素。索引

3).有索引,可使用普通的for循环遍历。接口

1-4.Set接口:

是TreeSet集合,HashSet集合的共性抽取,造成的父类(接口),LinkedHashSet集合(有序集合)是HashingSet的子类;rem

1).不容许存储重复的元素;it

2).没有索引(不能使用普通的for循环遍历)。

Collection接口:
定义的是全部单列集合中共性的方法;

全部的单列集合均可以使用共性的方法。

没有带索引的方法。

集合的学习方式:

1).学习顶层:学习顶层接口/抽象类中的共性方法,全部子类均可以使用。

2).使用底层:底层不是接口就是抽象类,没法建立对象使用,须要使用底层的子类建立对象使用。

1-5.Collection的经常使用功能:

1).public bollenan add(E e);用于把给定对象添加到当前集合中;

2).public clear();用于清除集合中的全部元素;

3).public boolean remove(E e);把给定的对象在当前集合中删除;

4).public boolean isEmpty();判断是否为空;

5).public int size();返回集合中元素的个数;

6).public boolean contains(E e);用于判断集合中是否含有给定的对象;

7).public Object[ ] toArray();把集合中的元素存储到数组中。

2-1.Iterator接口的介绍

是对集合进行迭代的迭代器。

java.util.Iterator接口:迭代器(对集合进行遍历)。

2-2.Iterator的两个经常使用方法:

1).boolean hasNext();

判断集合中是否还有下一个元素,如有则返回ture,没有则返回flase。

2).E next();

判断迭代的下一个元素(作两件事:先去除下一个元素,而后指针后移一位)。

注意:Iterator迭代器是接口,没法使用,须要使用Iterator接口的实现类的对象。

获取实现类的方法比较特殊,在Colleation接口中有一个方法叫iterator(),这个方法返回的就是迭代器的实现类对象。

Iterator<E>  iterator()返回的就是在此Colleation的元素上进行迭代的迭代器。

2-3.迭代器使用步骤

1).使用集合中的方法iterator获取迭代器的实现类对象,使用Iterator接口接收(这是一个多态)。

2).使用Iterator接口中的方法hasNext判断是否还有下一个元素。

3).使用Iterator接口中的方法next取出集合中下一个元素。

注意:Iterator<E>接口是有泛型的,迭代器的泛型紧跟着集合走,集合是什么泛型,迭代器就是什么泛型。

当没有元素能够在取出时就抛出异常(NoSuchElementException)。

2-4.加强for循环

其底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写。

是Java1.5以后的特性。

Collection<E> extends Iterator<E>:全部的单列集合均可以使用加强for循环。

public interface Iterable<T>实现这个接口容许对象成为“foreach”语句的目标。

加强for循环是用来遍历集合和数组的。

格式:

      for(集合或数组的数据类型 变量名:集合名或数组名){ S.out(变量名);}

注意:该for循环必须有被遍历的目标,目标只能是Collection或者都是数组,且该for循环仅做为遍历操做出现,不能在遍历的过程当中对元素进行增删操做。

相关文章
相关标签/搜索