java——双列集合

java——双列集合

  1. 双列集合一次需要存一对数据,分别为键和值

  2. 键不能重复

  3. 键和值是一一对应的,每一个键只能找到自己对应的值

  4. 键+值这个整体我们称之为“键值对”或“键值对对象”Entry对象

方法名说明
V put(k key,v value)添加元素
V remove(Object key)根据键删除键值对元素
void clear()移除所有的键值对元素
boolean containskey(Object key)判断集合是否包含指定的键
boolean containsValue(Object value)判断集合是否包含指定的值
boolean isEmpty()判断集合是否为空
int saze()集合长度,也就是键值对个数

Map遍历

  1. HashMap底层是哈希表结构的

  2. 依赖hashCode方法和equals方法保证键的唯一

  3. 如果键储存的是自定义对象,需要重写hashCode和equals方法

  4. 如果值存储的时自定义对象,不需要重写hashCode和equals方法

LinkedHashMap

有键决定的:有序,不重复,无索引

这里的有序是指保证存储和取出的元素顺序一致

原理:底层数据结构依然是哈希表,只是每个键值对又额外的多了一个双链表的机制记录存储的顺序

TreeMap

TreeMap跟TreeSet底层原理一样,都是红黑树结构的

由键决定特性:不重复,无索引,可排序

可排序:对键进行排序

TreeMap默认按照间的从小到大进行排序,也可以自己规定的排序规则

代码书写两种排序规则
  1. 实现Comparable接口,指定比较原则

  2. 创建集合时传递Comparator比较器对象,指定比较规则

可变参数

  1. 可变参数本质就是一个数组

  2. 作用:在形参中接收多个数据

  3. 格式:数据类型 ....参数名称 例int.....a

  4. 注意:1.形参列表中可变参数只能有一个 2.可变参数必须放在形参列表的最后面

Collections

-java.util.Collections:是集合工具类

作用:Collections不是集合,而是集合工具类

方法说明
public static< T >boolean addAll(Collection< T > c, T.....elements)批量添加元素
public static voidshuffle(List< ? > list)打乱LIst集合元素顺序
public static < T > void sort(List< T >list)排序
public static < T > void sort(List, Comparator< T > c )根据指定的规则排序
public static < T > int binarySearch(List< T >,T key)二分法查元素
public static < T > void copy(List< T >dest,LIst< T > src)拷贝集合中的元素
public static < T > int fill(List< T >list,T obj)使用指定的元素填充集合
public static < T > void max/min(Collection< T > coll)根据自然排序获取最大/小值
public static < T > void swap(List< ? > list,int i,int j)交换集合中指定位置元素

集合进阶

不可变集合:不可以被改变的集合

特点:定义后不可以修改或添加,删除

如何创建不可变集合

LIst Set和Map集合中,都存在of方法可以创建不可变集合

三种方式的细节
  • List:直接用

  • Set:元素不能重复

  • Map:元素不能重复,键值对数量最多是10个,超过10个用ofEntries方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值