1.常用的实现类结构一、HashMap实现了Map、Cloneable、Serializable接口,继承了AbstractMap类publicclassHashMap<K,V>extendsAbstractMap<K,V>implementsMap<K,V>,Cloneable,Serializable/***Map接口:实现键值对,Map接口规定了一个key
分类:
其他好文 时间:
2020-07-22 02:20:29
阅读次数:
105
1、链表是通过“指针”将一组零散的内存块串联起来的数据结构2、链表可以分为单链表、双向链表和单/双向循环链表2.1、删除链表中等于某个值的节点,单链表和双向链表的时间复杂度一样2.2、由于双向列表可以直接找到前驱结点,所以删除指定的节点,双向链表比单向链表高;同时在链表的某个指定结点前面添加一个结点 ...
分类:
编程语言 时间:
2020-07-22 02:11:20
阅读次数:
69
JDK 提供的并发容器总结 JDK 提供的这些容器大部分在 java.util.concurrent 包中。 ConcurrentHashMap: 线程安全的 HashMap CopyOnWriteArrayList: 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector. Co ...
分类:
其他好文 时间:
2020-07-21 23:25:47
阅读次数:
96
HashMap源码实现分析 一、前言 HashMap 顾名思义,就是用hash表的原理实现的Map接口容器对象,那什么又是hash表呢。 我们对数组都很熟悉,数组是一个占用连续内存的数据结构,学过C的朋友对这一点影响肯定更为深刻。既然是一段连续的内存,数组的特点就显而易见了,一旦你知道要查第几个数据 ...
分类:
其他好文 时间:
2020-07-21 22:58:35
阅读次数:
69
简介: 在jdk1.8中,hashmap有了较大的优化,底层实现由之前的“数组+链表”改为了“数组+链表+红黑树”。jdk1.8的hashmap的数据结构如图所示,当链表节点较少时仍然以链表形式存在,当链表节点较多时(大于8)会转化为红黑树。 重要知识点: 1、文章中头节点指的是table表上索引位 ...
分类:
其他好文 时间:
2020-07-21 09:30:18
阅读次数:
68
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组 ...
分类:
其他好文 时间:
2020-07-20 15:40:10
阅读次数:
87
1 /** 2 * 获取值的区间 3 * 4 * @param num 值 5 */ 6 public static Map<String, Integer> getNumSection(Integer num) { 7 Map<String, Integer> map = new HashMap( ...
分类:
编程语言 时间:
2020-07-20 13:07:55
阅读次数:
75
在面试后台开发的过程中,集合是面试的热话题,不仅要知道各集合的区别用法,还要知道集合的扩容机制,今天我们就来谈下ArrayList 和 HashMap的默认大小以及扩容机制。 在 Java 7 中,查看源码可以知道:ArrayList 的默认大小是 10 个元素,HashMap 的默认大小是16个元 ...
分类:
编程语言 时间:
2020-07-20 10:33:00
阅读次数:
74
package com.exam; import java.util.HashMap; import java.util.Map; /** * @author zt on 2020/7/18 * <p> * 1、创建十个HashMap,每个HashMap含有10万条记录; * 2、传递不同的构造方法 ...
分类:
其他好文 时间:
2020-07-19 00:55:31
阅读次数:
77
一、HashSet保证元素唯一原理: 依赖于hashCode()和equals()方法1、唯一原理: 1.1 当HashSet集合要存储元素的时候,会调用该元素的hashCode()方法计算哈希值 1.2 判断该哈希值对应的位置上,是否有元素 1.3 如果该哈希值位置上没有元素,那么就直接存储该元素 ...
分类:
其他好文 时间:
2020-07-19 00:31:43
阅读次数:
69