- 博客(8)
- 收藏
- 关注
原创 为什么给HashMap进行了排序,存放到新的HashMap中的时候依旧无视排序,应该如何处理?
为什么给HashMap进行了排序,存放到新的HashMap中的时候依旧无视排序,应该如何处理? 在上一篇文章中,我们对map中的数据按照value值,进行排序,但是当我们想将排序后的HashMap,存放到新的HashMap中的时候,却发现,新的HashMap依旧无视排序,这里给出解决方法。 **这种问题出现的原因就是由于HashMap的无序性,无论是否已经排序,当放到HashMap中时,都会无序化,因此会出现这种问题,因此这时我们需要使用LinkedHash
2021-03-24 11:00:01
328
原创 List排序、Map按照value值排序,以及list如何转换为map,map如何转换为list
List排序、Map按照value值排序,以及list如何转换为map,map如何转换为list在写算法的时候,会频繁的用到list以及map的排序问题,当我们想对list进行排序,我们可以直接使用Collections类中的方法,比如说对list进行降序排列,如下Collections.sort(list,Collections.reverseOrder());其中逗号前的list即为要排序的list,用一个例子来看,如图: list.add(0.3);
2021-03-23 10:34:31
1245
原创 遍历HashMap集合的四种基本方式(包括遍历、迭代器、get、Map接口)
遍历HashMap集合的四种基本方式(包括遍历、迭代器、get、Map接口) 遍历HashMap集合一般有四种方式,今天跟大家介绍一下:1.分别遍历key和values,这里调用了import java.util.Set;方法如下: //分别遍历key和values private static void method( HashMap<String,Integer> hm){ //获取所有的key Set<S
2021-03-17 00:38:11
387
原创 HashMap的最详细介绍(四)HashMap的四个成员方法详解(put、remove、resize、get)
HashMap的四个成员方法详解(put、remove、resize、get) 在了解HashMap的构造方法之后,就进行实例部分的四个基本的成员方法,也是我平常经常用到的成员方法:增加方法(put): put方法在在实例中可以直接用.put()实现,这里解释一下put方法的源码详细实现步骤: (1)先通过hash值计算出key映射到哪个桶 (2)如果桶上没有碰撞,冲突,则直接插入 (
2021-03-16 09:58:45
470
原创 HashMap的最详细介绍(三)HashMap数组容量的算法分析,HashMap面试题,集合类的全部成员及构造方法
HashMap数组容量的算法分析,HashMap面试题,集合类的全部成员及构造方法 我们从上一篇文章的算法开始进行介绍,源代码中使用的是hash与length-1的按位与运算(位运算),而当输入值不是2的n次幂时,由于HashMap的容量必须是2的幂,因此会找到大于等于给定值的最小的2的幂,这可以从源码中得到: static final int tableSizeFor(int cap) { int n = cap - 1; n |= n &g
2021-03-15 11:02:28
482
原创 HashMap的最详细介绍(二)HashMap的面试题,HashMap扩容,put方法流程图,继承关系以及集合类的成员
HashMap的面试题,HashMap扩容,put方法流程图,继承关系以及集合类的成员 在了解完上一篇HashMap的文章后,同学在面试时,面试官可能会问以下几个问题: 1.当两个对象的hashCode相等时会发生什么? 2.何时会发生哈希碰撞,什么是哈希碰撞,如何解决哈希碰撞? 3.如果两个键的hashCode相同,如何存储键值对? 这样的问题比较简单,答案如下,不理解的可以自己
2021-03-14 10:52:40
323
原创 IPAD密码试错停用了怎么办?教你用正规iTunes刷机恢复,解决忘记密码的问题!以及C盘瘦身的最实用技巧
IPAD试错停用,正规iTunes刷机恢复 有时候,我们可能会忘记IPAD的密码,重启IPAD后,指纹密码也需要通过原来设置的IPAD密码来开启,因此,在尝试多次开机失败后,会导致IPAD停用,这时,我们就只能通过刷机恢复,来实现IPAD的开启,注意,刷机之后,IPAD中的app和数据都会删除,不过可以备份在自己的电脑中,好,现在就跟大家一起分享一下自己亲测过的刷机方法。 首先我们要根据自己电脑的型号,下载相应的iTunes,我的电脑是win10,64位
2021-03-13 18:08:43
6008
1
原创 HashMap的最详细介绍(一)HashMap的介绍,特点,存储方式以及hashCode()的用法
HashMap的最详细介绍(一)HashMap的介绍,特点,存储方式以及hashCode()的用法 HashMap是基于哈希表的Map接口实现,是以key-value存储形式存在的,即主要用来存放键值对,HashMap的实现不是同步的,这意味着它不是线程安全的,它的key,value都可以为null,此外,HashMap中的映射不是有序的。 在JDK1.8之前,HashMap由数组+链表组成,数组是HashMap的主体,链表则是为了解决哈希冲突(两个对象调用的hashCode方法计算的哈
2021-03-13 14:55:00
1305
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人