Collection接口、Map 接口 的集合使用详细介绍

Collection 接口,定义保存 单值

在这里插入图片描述

迭代器:集合中的专用遍历方式

Iterator iterator() : 返回此集合中元素的迭代器,通过集合的iterator() 方法得到

迭代器是通过集合的iterator()方法得到,所以我们说它式依赖于集合存在

List 接口 定义保存可重复的单值规范

list集合

  • 有序集合,有索引
  • 允许存储重复的元素
  • 元素存储有序

–ArrayList 实现类 使用数组机制(采用线程不安全机制存储 效率高) 增删慢、查找快

–LinkedList 实现类 使用链表 增删快、查找慢

–Vecter 实现类 使用数组机制(采用线程安全机制存储,效率低)

Set 接口 定义保存不可重复的单值规范

Set集合 特点:

  • 元素存储无序
  • 没有索引、只能通过迭代器或增强for循环遍历
  • 不能存储重复元素

​ – HashSet 实现类 哈希算法保存数组

  • 底层数据结构哈希表
  • 不保证存储和取出的元素顺序一致
  • 没有带索引的方法,所以不能使用普通循环
  • 是不包含重复元素的集合

​ – TreeSet 实现类 排序

  • 元素有序,可以按照一定的规则进行排序,具体排序方式取决于构造方法

    ​ --TreeSet():根据其元素的自然排序进行排序

    ​ --TreeSet(Comparator comparator) :根据指定的比较器进行排序

  • 没有带索引的方法,所以不能使用普通for循环遍历

  • 由于是Set集合,所以不包含重复元素的集合

​ – SortedSet 接口 在Set基础上定义了排序规则

Map 接口 定义保存键值对值规范 双列

Map集合的特点

  • 键值对映射关系

  • 一个键对应一个值

  • 键不能重复,值可以重复

  • 元素存取无序

–HashMap

  • 实现类
  • 通过哈希算法保存数据
  • (线程不安全 效率高 可以添加空值 key == null,value ==null)

–Hashtable

  • 实现类
  • 通过哈希算法保存数据
  • (线程安全 效率低 不可以添加控制 key!=null )

–SortedMap

  • 接口
  • 在map基础上增加了排序

–TreeMap 实现类 排序

集合的选用

主要根据集合的特点来选用,比如我们需要根据键值获取到元素值时就选用 Map 接口下的集合,需要排序时选择 TreeMap,不需要排序时就选择 HashMap,需要保证线程安全就选用 ConcurrentHashMap

当我们只需要存放元素值时,就选择实现Collection 接口的集合,需要保证元素唯一时选择实现 Set 接口的集合比如 TreeSetHashSet,不需要就选择实现 List 接口的比如 ArrayListLinkedList,然后再根据实现这些接口的集合的特点来选用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值