Javaoop——集合框架

第七章  集合框架
1.如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架
2.Java集合框架提供了一套性能优良,使用方便的接口和类,他们位于Java.util包中
3.(1)接口

  (2)具体类
  (3)算法:collection——提供对集合进行排序,遍历等多种算法实现
注:collection接口存储一组不唯一,无序的对象;
List接口存储一组唯一,有序(插入顺序)的对象;
Set接口存储一组唯一,无序的对象
4.(1)Map接口存储一组键值对象,提供keyvalue的映射 
   (2)ArrayList实现了长度可变的数值,在内存中分配连续的空间(遍历元素和随机访问元素的效率比较高
5.List的常用方法
方法名说明
boolean add(Object  o)

在列表的末尾顺序添加元素,

起始索引位置从0开始

voidadd(int index,Object o)

在指定的索引位置添加元素。

索引位置必须介于0和列表中元素个数之间

intsize()

返回列表中的元素个数

Objectget(intindex)

返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换

boolean contains(Object o)

判断列表中是否存在指定元素

boolean remove(Object o)

从列表中删除元素

Object  remove(int index)

从列表中删除指定位置元素,

起始索引位置从0开始

注:LinkedList提供对头部和尾部元素进行添加和删除操作的方法
6.LinkedList的特殊方法
方法名说明

void  addFirst(Objecto)

在列表的首部添加元素

void  addLast(Objecto)

在列表的末尾添加元素

Object  getFirst()

返回列表中的第一个元素

Object  getLast()

返回列表中的最后一个元素

Object  removeFirst()

删除并返回列表中的第一个元素

Object  removeLast()

删除并返回列表中的最后一个元素


7.Map的常用方法
方法名说明

Objectput(Object key, Object val)

以“键-值对”的方式进行存储

Objectget (Object key)

根据键返回相关联的值,如果不存在指定的键,返回null

Objectremove (Object key)

删除由指定的键映射的“键-值对”

intsize()

返回元素个数

SetkeySet ()

返回键的集合

Collectionvalues ()

返回值的集合

boolean  containsKey(Object key)

如果存在由指定的键映射的“键-值对”,返回true

8.集合类对比
(1) Vector ArrayList 的异同
  实现原理、功能相同,可以互用
  主要区别:•Vector线程安全,ArrayList重速度轻安全,线程非安全
长度需增长时, Vector 默认增长一倍, ArrayList 增长 50%
(2)Hashtable和HashMap的异同
  实现原理、功能相同,可以互用
  主要区别:•Hashtable继承Dictionary类,HashMap实现Map接口
Hashtable 线程安全, HashMap 线程非安全
Hashtable 不允许 null 值, HashMap 允许 null
9.迭代器Iterator
方法 1 :通过迭代器 Iterator 实现遍历 
  获取 Iterator Collection 接口的 iterate() 方法
  Iterator 的方法
boolean hasNext (): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素
方法2:增强型for循环

for(元素类型元素变量x :数组或集合对象){

         引用了xjava语句

}

注:两者同样可以遍历其他集合类,通常使用增加for型循环





 


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值