java--集合框架和泛型.基础

集合

集合:对象的容器
相比数组:长度不固定
        数组可以存放基本类型和引用类型,集合只能存放引用类型

collection体系
在这里插入图片描述
迭代器
专门用来遍历集合的一种方式
hasNext(); 有下一个元素则返回true,否则false
next(); 获取下一个元素
remove();删除元素


List

ArrayList
存储结构:数组

DEFAULT_CAPACITY = 10:默认容量(如果没有添加元素,则为0;每次扩容1.5倍)
elementData:存放元素的数组
size:实际元素个数

Vector
存储结构:数组

LinkedList
存储结构:双向链表


泛型

提高代码重用性:一个方法可以传递不同类型的参数,可以不需要重写
防止类型转换异常:强制集合类型一致,访问时不必类型转换(拆箱),不存在多态


Set
HashSet
存储结构:哈希表(数组+链表+红黑树)
存储过程:(1)根据hashcode计算保存的位置,如果此位置为空,则直接保存,如果不为空执行第二步
     (2)执行equals方法,如果equals方法为true,则认为重复,否则形成链表

TreeSet
存储结构:红黑树
TreeSet的add实际就是用TreeMap的key来存储
HashSet同理

Map
在这里插入图片描述
HashMap
存储结构:哈希表
(1)初始容量 16 ,加载因子0.75(数据容量超过75%时进行扩容),每次增加翻倍

(2)HashMap刚创建时,table(数组)为null,以节省空间,当添加第一个元素,table容量调整为16
(3)当链表长度大于8,且元素个数大于等于64时,会调整为红黑树以提高执行效率
(4)当链表长度小于6,调整成链表
(5)JDK1.8后 链表是尾插入

TreeMap
存储结构:红黑树


Collections
集合工具,定义了除存取以外的集合常用 方法

Properties

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值