ICode9

精准搜索请尝试: 精确搜索
  • HashMap源码深度剖析,手把手带你分析每一行代码,包会!!!2022-07-13 00:36:21

    HashMap源码深度剖析,手把手带你分析每一行代码! 在前面的两篇文章哈希表的原理和200行代码带你写自己的HashMap(如果你阅读这篇文章感觉有点困难,可以先阅读这两篇文章)当中我们仔细谈到了哈希表的原理并且自己动手使用线性探测法实现了我们自己的哈希表MyHashMap。在本篇文章当中我们

  • HashMap的扩容机制原理2022-07-12 11:35:39

    1.7版本   1.先生成新数组  2.遍历老数组中的每个位置上的链表上的每个元素  3.取每个元素的key,并基于新数组长度,计算出每个元素在新数组中的下标  4.将元素添加到新数组中去  5.所有元素转移完了之后,将新数组赋值给HashMap对象的table属性 1.8版本   1.先生成新数组

  • HashMap设计原理与实现(下篇)200行带你写自己的HashMap!!!2022-07-12 01:32:16

    HashMap设计原理与实现(下篇)200行带你写自己的HashMap!!! 我们在上篇文章哈希表的设计原理当中已经大体说明了哈希表的实现原理,在这篇文章当中我们将自己动手实现我们自己的HashMap,完整的代码在文章末尾。 在本篇文章当中主要通过线性探测法,从最基本的数组再到HashMap当中节点的设计,一

  • 剑指 Offer 48. 最长不含重复字符的子字符串2022-07-10 12:03:42

    请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(),a

  • 练习--对文本的内容进行排序和字符编码和字符集2022-07-09 14:34:11

    练习--对文本的内容进行排序 3.侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之, 然后施行,必得裨补阙漏,有所广益。 8.愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允

  • 练习_对文本的内容进行排序和字符编码和字符集2022-07-09 14:31:25

    练习:   对文本的内容进行排序   按照(1,2,3....)顺序排序 分析:   1.创建一个HashMap集合对象,可以:存储每行文本的序号(1,2,3,..);value:存储每行的文本   2.创建字符缓冲输入流对象,构造方法中绑定字符输入流   3.创建字

  • HashMap的数据结构(1.7与1.8的区别)2022-07-08 18:01:15

    HashMap的数据结构 HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。 基本限制 数组默认长度:1<<4 即 16 数组最大值 :1<<30 默认加载因子:0.75 ------ 数组容量*0.75 = 12 (使用大小触发点:使用到12时做扩大数组容量的操作) 链表变形为红黑树的触发大小:8 -------- 注:

  • HashMap存储自定义类型键值2022-07-08 10:03:22

    HashMap存储自定义类型键值 Map集合保证key是唯一的:作为key的元素 必须重写hashCode方法和equals方法 以保证key唯一 代码: 自定义的类: package demo18.Student;public class perpon { private String name; private int age; public perpon(String name, int age) {

  • HashMap之resize()方法(一)2022-07-08 09:07:06

      首先看resize的第一部分(进行初始化或者进行扩容前的准备)        解析:首先看这个数组是不是没有初始化,没有的话就为0.否则oldcap大小为数组长度。 如果初始化了进入if。   如果数组长度过大(大于2的30次方)文法扩容,将threshod(翻译为门槛,也就是阈值的意思)设置为最大值,并直接

  • HashMap存储自定义类型键值,Hashtable集合2022-07-07 17:12:22

    HashMap存储自定义类型键值: Map集合保证key是唯一的:作为key的元素,必须重写hashcode方法和equals方法,以保证key唯一 HashNap存储自定义类型键值第一种: key:String类型String类重写hashCode方法和equals方法,可以保证key唯一 value:Person类型 value可以重复(同名同年龄的人视为同一

  • Map集合概念以及常用子类2022-07-06 22:00:23

    Map集合概念 Collection 中的集合,元素是孤立存在的,向集合中存储元素采用一个个元素的方式存储。 Map 中的集合,元素是成对存在的。每个元素由键与值两部分组成,通过键可以找对所对应的值。Collection中的集合称为单列集合,Map中的集合称为双列集合。需要注意的是,Map 中的集合不能包含

  • Map常用子类与Map接口中的常用方法2022-07-06 21:02:13

    Map常用子类通过查看Map接口描述,看到Map有多个子类,这里我们主要讲解常用的HashMap集合、LinkedHashMap集合。HashMap<K,V>∶存储数据采用的哈希表结构,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。.LinkedHashMap<K,V> :Has

  • Map集合概述和Map常用子类2022-07-06 17:00:55

    概述java.util.Map接口 Map<K,V> 有两个泛型 类型参数:K - 此映射所维护的键的类型V - 映射值的类型 特点:1.Map集合是双列集合,一个元素包含两个值,一个是key,一个是value 2.Map集合中的元素,key和value的数据类型可以相同,也可以不同 3.Map集合中的元素,key不允许重复,但是value可以重复

  • Map集合概述-Map常用子类2022-07-06 14:34:43

    Map集合概述 现实生活中,我们常会看到这样的一种集合︰IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种——对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map 接口。我们通过查看Map接口描述,发现 wap接口下的集合与collection接

  • HashTable集合和练习题_计算一个字符串中每一个字符出现的次数2022-07-06 14:05:24

    HashTable集合 /** * java.util.Hashtable<K,V>集合 implement Map<K,V>接口 * Hashtable:底层也是一个哈希表,是一个线程安全的集合,是单线程集合,速度慢 * HashMap:底层是一个哈希表,是一个线程不安全的集合,是多线程的集合,速度快 * * HashMap集合:可以存储null值null键 * Hashtable集合

  • HashMAp存储自定义类型键值和LinkedHashMap集合2022-07-06 13:44:25

    HashMap存储自定义类型键值 练习:每名学生(姓名,年龄)都有自己的家庭住址。那么既然有对应关系,则将学生对象和家庭住址存储到map集合中,学生作为键,家庭住址作为值 注意:学生姓名相同比国内且年龄相同视为同一名学生 HashMap存储自定义类型的键值 Map集合保证key是唯一的: 作为key的元素,必

  • Map集合和Map常用子类2022-07-06 11:00:06

    Map集合 java.util.Map<K,V>集合 Map集合的特点: 1.Map集合是一个双列集合,一个元素包含两个值(Key,Value) 2.Map集合中的元素,key和value的数据类型可以相同,也可以不相同 3.Map集合中的元素,key是不允许重复的,value是可以重复的 4.Map集合中的元素,key和value是一一对应的 Map常用子

  • 详解HashMap源码解析(下)2022-07-05 09:01:16

    上文详解HashMap源码解析(上)介绍了HashMap整体介绍了一下数据结构,主要属性字段,获取数组的索引下标,以及几个构造方法。本文重点讲解元素的添加、查找、扩容等主要方法。 添加元素 put(K key, V value) public V put(K key, V value) { return putVal(hash(key), key, value, f

  • 0702训练题目题解2022-07-03 13:02:51

    [LC2300] class Solution { public: using LL = long long; vector<int> successfulPairs(vector<int>& spells, vector<int>& potions, long long success) { //sort(spells.begin(), spells.end()); sort(potions.begin(

  • 微软面试2022-07-02 15:03:49

    Q:链表是什么?    A: 当需要存储多个相同数据类型的时候,可以使用数组存储,数组可以通过下标直接访问,但数组有个缺点就是无法动态的插入或删除其中的元素(特别是操作第一个位置上的元素),而链表弥补了这个缺陷,对于元素的插入和删除操作是很方便的,不过访问元素的“性能”就差很多了。  

  • 每日一问--HashMap的底层实现原理2022-06-29 17:33:54

    HashMap的底层实现原理 1. HashMap在jdk7中实现原理: HashMap map = new HashMap(); 在实例化以后,底层创建了长度是16的一维数组Entry[] table  ......里面可能已经执行过多次put...... map.put(key1,value1); 现在我又要put一个进去:    首先,调用key1所在类的hashCode()

  • OO第四单元总结2022-06-29 16:04:52

    BUAA_OO_2022_第四单元总结 OO第四单元作业主题为UML图,具体的任务是给出UML图中的元素,我们将其存储起来并实现若干个查询指令,同时在第三次作业中,需要我们针对几个规则进行异常检测,下面我分享一下我在本单元的学习心得和作业完成情况。 目录BUAA_OO_2022_第四单元总结第一次作业架

  • BUAA OO 第四单元总结博客2022-06-29 14:36:53

    <center>BUAA OO 第四单元总结博客</center> ​ 李依隆20373457 ​ 总结本单元作业架构设计 总结四个单元中架构设计思维和oo方法理解的演进 总结自己在四个单元中测试理解与实践的演进 总结自己的课程收获 立足于自己的体会给课程提三个具体的改进建议   本单元架

  • 算法day26-----蓝桥杯:不同子串2022-06-29 09:38:55

    题目:一个字符串的非空子串是指字符串中长度至少为1的连续的一段字符组成的串。例如,字符串aaab有非空子串a,b,aa,ab,aaa,aab,aaab,一共七个。注意在计算时,只计算本质不同的串的个数。 请问,字符串0100110001010001有多少个不同的非空子串? 思路:substring() 可以截取字符串,就很方便。

  • BUAA-OO-2022-Unit42022-06-29 01:31:50

    面向对象设计与构造2022第四单元总结 一、架构设计 由于三次作业都是增量开发,所以这里仅仅截取最后一次作业进行分析。 可以看到基本可以分割为四个独立的部分,刨去输入输出等无用部分,大致可以分为类图,流程图,顺序图,检测四个类块。当然也可以把检测看成三个图的子部分。 将需求分

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有