java中collection接口_Java中Collection接口的基础介绍

1-1.概述

集合,是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的子类;

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

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  iterator()返回的就是在此Colleation的元素上进行迭代的迭代器。

2-3.迭代器使用步骤

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

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

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

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

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

2-4.增强for循环

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

是Java1.5之后的特性。

Collection extends Iterator:所有的单列集合都可以使用增强for循环。

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

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

格式:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值