JAVA的接口

1.集合

存储一个班学员信息,假定一个班容纳20名学员当我们需要保存一组一样(类型相同)的元素的时候,我们应该使用一个容器来存储,数组就是这样一个容器。
● 数组有什么缺点?
● 数组一旦定义,长度将不能再变化。
● 然而在我们的开发实践中,经常需要保存一些变长的数据集合,于是,我们需
要一些能够动态增长长度的容器来保存我们的数据。
● 而我们需要对数据的保存的逻辑可能各种各样,于是就有了各种各样的数据结
构。Java中对于各种数据结构的实现,就是我们用到的集合

Java的集合框架是由很多接口、抽象类、具体类组成的,都位于java.util包中。

2.Collection接口

1. Collection 接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。
2. List 中的数据有顺序(添加顺序)且可以重复。
3. Set 中的数据不可以重复。

3.List 接口及实现类

List接口继承了Collection接口,有三个实现的类
ArrayList
数组列表,底层采用数组存储。
LinkedList
链表列表
Vector
数组列表,添加同步锁,线程安全的

ArrayList

是长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
LinkedList

采用链表存储方式。插入、删除元素时效率比较高

ArrayList的常用方法


a d d ( E e l e m e n t )
a d d ( i n t i n d e x , E e l e m e n t )
a d d A l l ( C o l l e c t i o n < ? e x te n d s E > c )
re m o ve ( i n t i n d e x )
re m o ve ( O b j e c t o )
c l e a r ( )
s e t ( i n t i n d e x , E e l e m e n t )
i n d e x O f ( O b j e c t o )
i s E m p t y ( )
c o n t a i n s ( O b j e c t o )
g e t ( i n t i n d e x )
s i z e ( )
to A r r a y ( T [ ] a )

L i n ke d L i s t 的 常 用 方 法

a d d ( E e )
a d d ( i n t i n d e x , E e l e m e n t )
s e t ( i n t i n d e x , E e l e m e n t )
g e t ( i n t i n d e x )
re m o ve F i r s t ( )
c o n t a i n s ( O b j e c t o )
i s E m p t y ( )
g e t F i r s t ( )
g e t L a s t ( )
a d d F i r s t ( E e l e m e n t )
a d d L a s t ( E e l e m e n t )
re m o ve L a s t ( )
re m o ve ( i n t i n d e x )

Set接口

● Set接口继承了Collection接口。
S e t 中 所 存 储 的 元 素 是 不 重 复 的 , S e t 中 的 元 素 是 没 有 索 引 的
● Set接口有两个实现类
● HashSet
H a s h S e t 类 底 层 基 于 哈 希 表 实 现 , 元 素 位 置 是 散 列 无 序 的
● TreeSet
Tre e S e t 底 层 基 于 树 形 结 构 实 现 , 元 素 进 行 指 定 方 式 的 排 序 。 存 储 的 类 型 必 须 实 现 C o m pa r a b l e 接 口 。

● 遍历方式

增强for循环迭代器遍历

Map接口

1.Map接口概述
实现了Map接口的集合类都是双列集合是一组键值对映射的键不能重复,每个键只能映射到一个值
值可以重复

2.Map接口常用方法
V put(K key,V value)
V remove(Object key)
void clear()
boolean containsKey(Object key)
boolean containsValue(Object value)
boolean isEmpty()
int size()
V get(Object key)
Collection<V> values()
Set<K> keySet()
3. HashMap
基于哈希表的实现类,不保证映射的顺序
并允许使用一个为null的键,值都可以为null

4 TreeMap
基于红黑树结构的实现类,可以通过key的自然顺序进行排序,如果需要得到一个有序的Map就应该使用TreeMap,key值的类型必须实现Comparable接口,重写compareTo方法。

5.Map集合遍历
方式1:根据键找值
• 获取所有键的集合
• 遍历键的集合,获取到每一个键
• 根据键找值
方式2:根据键值对对象获取键和值
• 获取所有键值对对象的集合
• 遍历键值对对象的集合,获取到每一个键值对对象
• 根据键值对对象找键和值
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值