Collection概述

Collection概述

一、Collection
1.概念

集合**:集合是java中提供的一种容器,可以用来存储多个数据。(基本本质就是一工具,它存放在java.util包中。在Collection接口定义着单列集合框架中最最共性的内容。)

2.集合与数组区别

1.数组的长度是固定的,集合的长度是可以改变的。

2.数组中存储的都是同一类型的元素,可以存储基本的数据类型值。

集合的存储都是对象,而且对象的类型可以不一致。在开发中对象多的时候,使用集合来存储。

(Collection虽然可以存储各种对象,但实际上通常Collection只存储同一类型对象,jdk5之后新增泛型的语法,让你在设计API时可以指定类或方法支持泛型,这样我们使用API的时候也变得更为简洁,并得到了编译时期的语法检查。:可以在类或方法中预支地使用未知的类型。一般在创建对象时,将未知的类型确定具体的类型。当没有指定泛型时,默认类型为Object类型。)

3.常用方法

*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()`: 把集合中的元素,存储到数组中。

二、迭代器
摘要:
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator。Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。

迭代:Collection 集合元素的获取方式,取元素之前要判断集合是否含有元素,如果有的话就取出来继续判断,一直把集合中的所有元素取出来,这种取出的方式被称为迭代
1.Iterator iterator()😗*
获取集合对应的迭代器,用于遍历集合中的元素。关羽元素返回的顺序没有任何保证(除此collection是某一个能提供保证顺序的类实例)

2.迭代:

即Collection集合元素的通用获取方式,在取出元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出来,一直把集合中的所有元素全部取出来,这种去厨房是专业术语就叫做迭代。

3.Iterator接口的常用方式如下:
public E next():返回迭代的下一个元素
public boolean hasNext():如果仍有元素可以迭代,则返回true
4.使用步骤:
1.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)。
2.使用Iterator接口中的方法hasNext判断还有没有下一个元素
3.使用Iterator接口中的方法next取出集合中的下一个元

** !!!!注意:在进行集合元素取出时,如果集合中已经没有元素了,还继续使用迭代器的next方法,将会发生java.util.NoSuchElementException没有集合元素的错误。**

5.代码示例
public class Mytest5 {
    public static void main(String[] args) {
        Phone p1 = new Phone("苹果", 10000);
        Phone p2 = new Phone("华为", 4900);
        Phone p3 = new Phone("小米", 3900);
        Collection list = new ArrayList();
        list.add(p1);
        list.add(p2);
        list.add(p3);
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){
         Phone phone =(Phone) iterator.next();
            System.out.println(phone.getName() + "$$$" + phone.getPrice());
        }
    }
}
Phone 类就不写这了。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值