我在看HashMap源码的时候发现了一个没思考过的问题,在这之前可以说是完全没有思考过这个问题,在一开始对这个点有疑问的时候也没有想到居然有这么个语法细节存在,弄得我百思不得其解,直到自己动手做实验改写了代码才完全明白. HashMap里面保存的数据最底层是一个Entry型的数组,这个Entry则保留了一个键值对,还有一个指向下一个Entry的指针.所以HashMap是一种结合了数组和链表的结构.正因为如此,你有3种对数据的观测方式:keySet,values,entrySet.第一个是体现从k…
参考链接:https://www.cnblogs.com/crazyacking/p/5573528.html ================================== java紫色代表迭代方式 效率测试:100W ================================== HashMap迭代方式1:entrySet迭代 public static void main(String[] args) { Map<String,String> hashMap = new Ha…
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10022092.html Java基础系列-HashMap 1.8 概述 HashMap是基于哈希表实现的映射集合. HashMap可以拥有null键和null值,但是null键只能有一个,null值不做限制.HashTable是不允许null键和值的. HashMap是非线程安全的集合,HashTable是添加了同步功能的HashMap,是线程安全的. HashMap是无序的,并不能保…
本文的源码是基于JDK1.8版本,在学习HashMap之前,先了解数组和链表的知识. 数组:数组具有遍历快,增删慢的特点.数组在堆中是一块连续的存储空间,遍历时数组的首地址是知道的(首地址=首地址+元素字节数 * 下标),所以遍历快(数组遍历的时间复杂度为O(1) ):增删慢是因为,当在中间插入或删除元素时,会造成该元素后面所有元素地址的改变,所以增删慢(增删的时间复杂度为O(n) ). 链表:链表具有增删快,遍历慢的特点.链表中各元素的内存空间是不连续的,一个节点至少包含节点数据与后继节点的引…
摘要:echarts 是一个很强大的图表库,除了我们常见的图表功能,还可以自定义图形,这个功能让我们可以很简单地在画布上绘制一些非常规的图形,基于此,我们来玩一些花哨的:做一个 Flappy Bird 小游戏. 本文分享自华为云社区<没想到吧!这个可可爱爱的游戏居然是用 ECharts 实现的!>,作者: DevUI . 前言 echarts 是一个很强大的图表库,除了我们常见的图表功能,echarts 有一个自定义图形的功能,这个功能可以让我们很简单地在画布上绘制一些非常规的图形,基于此,我…
在做关于NIO TCP编程小案例时遇到无法监听write的问题,没想到只是我的if语句的位置放错了位置,哎,看了半天没看出来 贴下课堂笔记: 在Java中使用NIO进行网络TCP套接字编程主要以下几个类: ServerSocketChannel: 服务端套接字通道,主要监听接收客户端请求 Selector:通道选择器,主要用于管理服务端通道和所有客户端通道(监听通道中发生的事件),也就说是一个多路通道复用器. SelectorKey: 事件选择键 SocketChannel: 套接字通道(客户端…
centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多! 一.手动安装 1.下载(官网)    cd /soft     wget http://www.clamav.net/downloads     2.解压    cd /soft    tar zxvf clamav-0.99.2.tar.gz -C /usr/local/src    cd /usr/local/    mkdir clamav    cd /usr/local/src/clamav…
前情回顾 自从我上次发了<这道Java基础题真的有坑!我求求你,认真思考后再回答.>这篇文章后.我通过这样的一个行文结构: 解析了小马哥出的这道题,让大家明白了这题的坑在哪里,这题背后隐藏的知识点是什么. 但是我是万万没想到啊,这篇文章居然还有续集.因为有很多读者给我留言,问我为什么?怎么回事?啥情况? 问题片段一:到底循环几次? 有很多读者针对文章的下面的这个片段: 来问了一些问题:为什么会循环三次?循环二次?循环一次? 源码看的脑袋疼.那我觉得我需要"拯救"一下这个哥们…
[编程题] 万万没想到之抓捕孔连顺 时间限制:1秒 空间限制:131072K 我叫王大锤,是一名特工.我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺.和我一起行动的还有另外两名特工,我提议   1. 我们在字节跳动大街的N个建筑中选定3个埋伏地点. 2. 为了相互照应,我们决定相距最远的两名特工间的距离不超过D.   我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了一种.这个方案万无一失,颤抖吧,孔连顺! …… 万万没想到,计划还是失败了,孔连顺化妆成小龙女,混在c…
​ ​ 众筹作为当下创业者筹集资金,将创意变为现实的最重要手段之一,正面临着越来越多的困难,甚至衍生出杀死众筹的N种方法.甚至这些方法还分为了两类,就众筹本身看,杀死它们的主要方法是:创业者卷钱跑路.创意难以变为现实等.而从外部方法看,主要是消费者口味的迅速变化.生产链难以把握等.但如今又多了一种新的死法:山寨的出现. 众筹产品的发布,往往要经历数个阶段:创业者确定创意.在众筹网站公布.筹集资金.生产--而每一个阶段都会经历不短的时间,这就让山寨公司有机可乘.山寨公司快速反应的机制.迅速集结的生…