Java-高级特性—集合框架

集合框架和泛型

  • Collection接口存储一组不唯一,无序的对象
  • List接口存储一组不唯一,有序(插入顺序)的对象
  • Set接口存储一组唯一,无序的对象
  • Map接口存储一组键值对象,提供key到value的映射(成对出现可以通过key找value,key是唯一的,无序的)

分为四大部分

​ 1、Clollection集合

​ 2、Map集合

​ 3、Inerator迭代器

​ 4、Utilities 工具类

在这里插入图片描述

List接口的实现类

  • ArrayList实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
    1. 长度可变的数组
    2. 遍历元素和随机访问元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BYtnY29I-1653557372496)(D:\note\Java高级特性\图片笔记\ArrayList.jpg)]

  • LinkedList采用链表存储方式,插入、删除元素时效率比较高
    1. 链表存储方式
    2. 插入、删除元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NP0RuXzW-1653557372496)(D:\note\Java高级特性\图片笔记\LinkedList.jpg)]

ArrayList集合类

  • ArrayList
    1. 是List接口的一个具体实现类
    2. 实现了改变大小的数组
    3. 随机访问和遍历元素时,他提供更好的性能
  • 用到的方法
    1. add()
      • 返回Object类型
    2. size()
      • 和length属性作用是一样的
    3. get()
      • ​ 返回的也是Object类型

ArrayList常用方法

方法名 说明
boolean add(Object o) 在列表的末尾顺序添加元素,起始索引位置从0开始
void add(int index,Object) 在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间
int size() 返回列表中的元素个数
Object get(int index) 返回值指定索引位置处的元素。去除的元素是Object类型,使用前需要进行强制类型转换
boolean contains(Object o) 判断列表中是否存在指定元素
boolean remove(Objeact o) 从列表中删除元素
Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始

Collection接口常用通用方法

使用子接口或子类

Collection接口常用通用方法
add() 向集合有顺序的添加元素
size() 返回元素个数
contains() 判断是否存在这个元素
remove() 删除元素
clear() 集合里的所有元素清空
isEmpty() 判断集合是否为空
itcrator() 获取遍历一个集合的迭代器
toArray() 把一个集合转换成一个序列
转为数组 Object[] toArray()(toArray()返回Object[]的数组)

断点跟踪ArrayList

随机访问和遍历元素时,它提供更好的性能(插入时的断点过程跟踪)

LinkedList集合类

  • LinkedList类是List接口的一个具体实现类
  • LinkedList类用于创建链表数据结构
  • 插入或者删除元素时,它提供更好的性能

LinkedList独有的方法

方法名 说明
void addFirst(Object o) 在列表的首部添加元素
void addLast(Object 0) 在列表的末尾添加元素
Object getFirst() 返回列表中的第一个元素
Object getLast() 返回列表中的最后一个元素
Object removeFirst() 删除并返回列表中的第一个元素
Object removeLast() 删除并返回列表中的最后一个元素

ArrayList可以用父类引用指向子类对象的形式

LinkedList不可以用父类引用指向子类对象的形式

这种写法只能调用父子类公用的方法,无法调用子类独有的方法

LinkedList和ArrayList异同

同为List实现类,元素有序、不唯一、长度可变 ArrayList实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比价高
共有Collection及List的通用方法 LinkedList采用链表存储方式,插入、删除元素时效率比

Set接口

HashSet

  • Set接口存储一组唯一,无序的对象

  • HashSet是Set接口常用的实现类

  • Set中存放对象的引用

  • Set接口采用对象的equals()方法比较两个对象是否相等

  • hashSet是Set接口常用的实现类

    HashSet

    • Set接口不存在get()方法,所以不能用get()方法来获取HashSet中的元素。

    增强型的for

for (Object obj:hashSet
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值