Android:集合 9

24 篇文章 0 订阅
24 篇文章 0 订阅
  • 集合的意义

集合是为了连续的存储数据搭建的框架

数组:可以存储基本数据类型和引用类型,数组的长度是固定的,当元素数量未知的情况下不适合使用

集合:只能存储对象,集合的长度可变,多数情况下使用集合

 

  • 集合框架的层次结构

collection接口是集合类接口的根接口,这个接口没有实现类,List和Set接口是继承它而来的

Map接口也是集合类接口的一部分,它和collection独立,Map以键值对的形式存储数据

(迭代器)Iterator接口,所有的集合类中,都实现了Iterator接口,用于遍历集合中元素的接口,三个重要的方法:

hasNext() 是否有下一个元素

next()    返回下一个元素

remove()  删除元素

 

  • List、Set和Map

List(列表):list中的对象是有序的并且元素可以重复的,list是自带索引的,所以查询速度快

Set(集):set里存放的对象是无序的并且不可以重复,set中的对象并不排序,只是简单的加入集合

Map(映射):map中存的是键值对,键不能重复,值可以重复,根据键可以得到值

 

 

是否有序

元素是否可以重复

collection

 

 

List

set

HashSet

TreeSet

是(二叉排序树)

Map

HashMap

key值唯一,value可以重复

 

TreeMap

是(二叉排序树)

 

  • List使用

ArrayList 和 LinkedList这两个类都实现了List接口

这两个在用法上没有区别,LinkedList用在增删改操作较多,查询操作较少的情况,ArrayList是在查询多,增删改少的操作中。

  • Set使用

Set和List的区别 Set中的元素不重复且无序,List中的元素是可重复且有序

Set有着collection完全一样的接口,所以不像list一样有额外的功能

存入Set中的元素必须都是唯一的

HashSet:为了快速查找设计的Set,以hash算法对元素进行标记

TreeSet:保存次序的Set,基本结构是树结构,提供有序的序列

LinkedHashSet:以链表的形式存储的HashSet

 

  • Map使用

Map接口并不继承collection 但它也是集合的一部分

Map使用键值对存储数据  每个值都有一个和他相关联的键,我们通过键就可以访问到对应的值

HashMap:Map基于散列的形式

TreeMap:Map基于红黑树的形式

LinkedHashMap:链表形式的HashMap

WeakHashMap:一种特殊形式,具有弱键的Map,对象允许释放

 

  • 迭代器使用

集合全都实现了的接口,用途是遍历集合

list和set遍历的方式通用 for  foreach  Iterator

map需要转换成set才能进行遍历

 

  • 集合之间嵌套

list和set结构基本相同,不做介绍

1- list中套list  

针对将所有数据都显示时方便

2- list中套map

对显示每条规律的数据的其中一条比较方便

3- map中套map

针对数据的查询很方便

4- map中套list

查询表头方便

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值