代码编织梦想

Java集合2-爱代码爱编程

  大家好,我是陈哈哈,北漂五年。认识我的朋友们知道,我是非科班出身,半路出家,大学也很差!这种背景来北漂,你都不知道你会经历什么🙃🙃。   不敢苟同,相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍热门面试题及恰如其分的解答。当然,我不会太深入,因为我怕

哈希表的常用操作-爱代码爱编程

import java.util.HashMap; public class HashTableUse { //java是HashMap,python是字典,是键值对,是key-value //key通过哈希函数,确定一块内存地址,存放key/value //哈希碰撞:不同key,通过哈希函数得到同一个内存地址,通过链表的方法,将

jdk1.8后为什么hashmap中链表长度大于8会转变成红黑树-爱代码爱编程

hashmap源码中有以下注释 /* * Implementation notes. * * This map usually acts as a binned (bucketed) hash table, but * when bins get too large, they are transformed into bins of * Tree

Java统计数组中各个数字出现的个数和字符串中各个字符出现的个数-爱代码爱编程

一、前言 对于统计个数问题,我们一般利用HashMap来解决,其中key表示原始元素值,value表示其出现个数或出现次数。主要步骤为: 1、创建一个HashMap<Character, Integer>型或HashMap<Integer,Integer>型的HashMap对象map; 2、遍历数组或字符串,对其中元素分情

JDK15源码(一):HashMap-爱代码爱编程

HashMap设置的常量 /** * 初始化容量大小,必须是2的N次方数 1<< 4 = 16 */ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 /** * HashMap容量的上限,必须小于等于2的30次方 */ static fi

LeetCode刷题进阶之存在重复元素 (217)-爱代码爱编程

一、题目 演示示例: 二、测试代码 //方法一 HashMap获取数字个数 class Solution { public boolean containsDuplicate(int[] nums) { HashMap<Integer,Integer> map=new HashMap<Integer,Integ

HashMap详解-爱代码爱编程

先附上原文,讲的不错,涉及到了一些底层,需要耐心阅读。原文:Java8的HashMap详解(存储结构,功能实现,扩容优化,线程安全,遍历方法). 部分做了修改 感谢login_sonata. 这里只做简单概述,不过多讲解 首先我们说一下什么是HashMap: HashMap是Map接口的实现类。 Map接口有很多实现类。主要的四个常用的实现类,分别是H

HashSet源码分析--如何实现的元素不重复-爱代码爱编程

文章目录 核心问题:set如何实现的元素不重复?HashSet源码解析HashMap构造add方法Map源码put方法hash方法putValue方法静态内部类Node解答: 核心问题:set如何实现的元素不重复? HashSet源码解析 HashMap构造 底层就是实现一个HashMap public HashSet() {

Map集合循环遍历的几种方式-爱代码爱编程

转载自https://blog.csdn.net/qq_35661171/article/details/79123842 package cn.jdbc.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Ma

力扣49. 字母异位词分组-爱代码爱编程

class Solution { public List<List<String>> groupAnagrams(String[] strs) { if(strs.length == 0 || strs == null) return new ArrayList(); Map<Strin

Java的HashMap实例使用,力扣(LeetCode)刷题第33题:搜索旋转排序数组-爱代码爱编程

文章目录 前言一、题目介绍二、解题思路1.分析题目2.代码部分三、总结 前言 [题目地址:搜索旋转排序数组] 一、题目介绍 给你一个整数数组 nums ,和一个整数 target 。 该整数数组原本是按升序排列,但输入时在预先未知的某个点上进行了旋转。(例如数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2]

【力扣15-三数之和】多种解法(hashmap+双指针)(golang)-爱代码爱编程

目录 题目描述思路题解方法1:hash法方法2:双指针法 题目描述 https://leetcode-cn.com/problems/3sum/ 思路题解 方法1:hash法 func threeSum(nums []int) [][]int { mapCount := make(map[int]int, len(nums))

集合(常见面试题) (HashMap算法优化)-爱代码爱编程

数组/链表 数组(查询快 , 新增, 删除慢) 链表(查询慢, 新增,删除快 ) Collection (单列)(接口)(java.util) 常用方法 c .add 新增一个元素, 返回值是固定 truec. clear 清空集合所有元素c.contains 判断集合中是否存在这个元素c.iterator 获取集合的迭代器 iterator .

【面试篇】ConcurrentHashMap1.8 扩容细节-爱代码爱编程

ConcurrentHashMap1.8 扩容细节 【面试篇】数据结构-哈希表【面试篇】HashMap常见面试题目【面试篇】HashMap1.7和HashMap1.8的详细区别对比【面试篇】ConcurrentHashMap1.8 扩容细节【面试篇】ConcurrentHashMap1.7和1.8详解对比什么是一致性哈希算法?如何通俗易懂的了解分布

【Lintcode】1373. Movies on Flight-爱代码爱编程

题目地址: https://www.lintcode.com/problem/movies-on-flight/description 一段航线的时间是 k k k,为了让旅客不无聊,飞机提供若

【Lintcode】1484. The Most Frequent Word-爱代码爱编程

题目地址: https://www.lintcode.com/problem/the-most-frequent-word/description 给定一个英文句子 s s s,其由若干由空格分

这玩意比ThreadLocal叼多了,吓得我赶紧分享出来。-爱代码爱编程

点击上方 好好学java ,选择 星标 公众号 重磅资讯、干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 Dubbo的一次提交开始 故事得从前段时间翻阅 Dubbo 源码时,看到的一段代码讲起。 这段代码就是这个: org.apache.du

HashMap死循环讲解(JDK1.8 之前)-爱代码爱编程

上一章有写risize()代码,这一章我们从risize()开始进行讲解。 一、hash表迁移 新建一个更大尺寸的 hash 表,然后把数据从老的 Hash 表中迁移到新的 Hash 表中 resize#源码: void resize(int newCapacity) { Entry[] oldTable = table; int

秋招面试知识点----集合篇-爱代码爱编程

ArryList ArrayList 底层基于数组实现容量大小动态可变。 扩容机制为首先扩容为原始容量的 1.5 倍。如果1.5倍太小的话,则将我们所需的容量大小赋值给 newCapacity,如果1.5倍太大或者我们需要的容量太大,那就直接拿 newCapacity = (minCapacity > MAX_ARRAY_SIZE) ? Integ

关于HashMap,这篇文章已经总结很详细了-爱代码爱编程

HashMap的底层数据结构? HashMap 是我们非常常用的数据结构,由 数组和链表组合构成 的数据结构。数组里每个地方都存了Key-Value这样的实例,在Java7叫Entry,在Java8中叫Node。 初始化后所有的位置都为null,在put插入的时候会根据key的hash去计算一个index值。 链表?为啥需要链表?链表具体是什么样