java_Collection 泛型

集合

集合和数组的区别:

1.数组长度固定,集合长度不固定

2.数组可存放基础数据类型和引用数据类型,集合只能存放引用数据类型

Collection
List
Set
ArrayList
LinkedList
HashSet
LinkedHashSet
interface
Class
ArrayList LinkedList

1.有序集合

2.可以存储重复元素

3.有索引

HashSet

1.无序集合

2.不可以存储重复元素

3.没有索引

LinkedHashSet

1.有序集合

2.不可以存储重复元素

3.没有索引

共性方法
  1. add(E e)

    把给定对象添加至集合

  2. remove(E e)

    给定对象在当前对象中删除,若集合中没有该元素,返回false,若有一个删除,若有多个,删除第一个该元素

  3. contains(E e)

    查询该元素是否存在于当前集合

  4. toArray()

    将当前集合放置数组中

  5. isEmpty()

    判断当前集合是否为空

  6. clear()

    清空当前集合的对象

  7. size()

    返回当前集合的存储元素的个数

迭代器

判断集合是否为空,若不为空,则取出元素,再继续判断。

迭代器是一个接口,需要找其实现类。

在Collection中有iterator()方法,接收它即可。

成员方法

hasNext() 判断集合中是否还有元素

next() 取出集合中下一个元素

使用方法

1.创建集合,往集合中添加对象

2.使用方法获取迭代器对象

3.使用迭代器中的方法依次取出元素


Collection<String> collection = new ArrayList<>();
collection.add("aaa");
collection.add("bbb");
collection.add("ccc");
Iterator<String> iterator = collection.iterator();//每次使用时都要重新获取一下迭代器,不然会抛出ConcurrentModificationException异常
String s = iterator.next();
System.out.println(s);

异常详情

在使用迭代器遍历集合时,若同时增加和删除迭代器,则会引发并发修改异常。
在迭代过程中,不要对集合进行修改
若要修改,则使用ListIterator接口,它定义了add和remove对集合进行修改。
泛型

未知的数据类型,可存储任意的数据类型,但不可使用元素特有的数据类型

含有泛型的方法

修饰符 <泛型> 返回值 方法名(参数列表){}

含有泛型的接口

public interfa 接口名

{ public abstract void show(I i);}

使用方法:

1.implements 接口名<类型>

2.public 方法名 implements 接口名

泛型的通配符

?代表任意数据类型,不能创建对象时使用,可作为方法的参数使用。

泛型的上限与下限

上限:<? extends A> 该类型必须是A,或者A的子类

下限:<? super A> 该类型必须是A,或者A的父类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值