Collection接口

  Collection接口是最基本的集合接口,它不提供直接的实现,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。Collection所代表的是一种规则,它所包含的元素都必须遵循一条或者多条规则。如有些允许重复而有些则不能重复、有些必须要按照顺序插入而有些则是散列,有些支持排序但是有些则不支持。

  1. Collection接口中的子接口:List(其中一个)

 List接口为Collection直接接口。List所代表的是有序的,可重复的,即它用某种特定的插入顺序来维护元素顺序。用户可以对列表中每个元素的插入位置进行精确地控制,同时可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。实现List接口的集合主要有:ArrayList、LinkedList、Vector等。

其中:

ArrayList:底层是用数组实现的存储。特点:查询效率高,增删效率低,线程不安全。我们一般用它。

LinkedList:底层是用双向链表实现的存储。特点:查询效率低,增删效率高,线程不安全。

Vector:底层是用数组实现的List,相关的方法都增加了同步检查,因此“线程安全,效率低”,比如idexOf方法就增加了synchronized同步标记。

2.Collection接口中的子接口:Set

Set接口继承Collection,Set中没有增加新的方法,方法和Collection接口一致。Set容器特点:无序,不可重复。无序指Set中的元素没有索引,我们只能遍历查找;不可重复指的是不允许加入重复元素。Set中常用的实现类有:HashSet、TreeSet等,我们一般用HashSet。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值