HashMap的底层主要是基于数组+链表来实现的,根据HashCode可以很快的查询到对象所存储的位置。例如: 导入包: package java.util; import java.io.*; 成员变量: public class HashMap<K, V> extends AbstractMap
分类:
其他好文 时间:
2016-02-21 17:14:30
阅读次数:
398
看看基本的一些 Java 知识点: Java类修饰符 java中的==、equals()、hashCode()源码分析 Java中String、StringBuffer、StringBuilder的区别 之后看一下 Java 最常问的集合类知识点: Java集合常见面试题集锦 其中要特别了解一下 H
分类:
编程语言 时间:
2016-02-18 13:23:04
阅读次数:
149
目录实现:equals()hashCode()compareTo()clone()应用:StringBuilder/StringBufferRandom.nextInt(int)Iterator.remove()StringBuilder.reverse()Thread/Runnabletry-fi...
分类:
编程语言 时间:
2016-02-17 20:53:23
阅读次数:
342
默认调用的情况: 1.集合在存放对象时,首先判断hashcode(),再判断equals如果都是true,认为是相同的两个元素不进行存储。 删除对象时,将从hashcode指定位置查找再删除 2.在hashSet集合中的对象如果改变了对象的hashCode值将导致无法查找到以及无法删除集合中的对象,
分类:
其他好文 时间:
2016-02-16 16:41:22
阅读次数:
120
大家知道,在集合中判断集合中的两个元素是否相同,依赖的是hashcode()和equals()两个方法。 > 一个简单的实验 public class Teacher { private Integer id = null; public Teacher(Integer id) { super();
分类:
编程语言 时间:
2016-02-16 15:02:27
阅读次数:
183
跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。 这一组API的所有包名都以org.apache.commo
分类:
其他好文 时间:
2016-02-14 14:09:03
阅读次数:
269
在使用list集合的时候,什么也不用。 原因:list允许存储重复的元素。 在使用set集合的时候,要重写,equals()方法 和 hashCode() 方法。 愿意:set集合 不允许存放相同的元素,而默认比较的是两个 对象地址的值,这样,两个对象恒不等。所以 我们需要重写equals()方法,
分类:
编程语言 时间:
2016-02-07 17:25:14
阅读次数:
181
注意:本篇博客,主要参考自《深入理解Java虚拟机(第二版)》 1、对象在内存中存储的布局分为三块 对象头 存储对象自身的运行时数据:Mark Word(在32bit和64bit虚拟机上长度分别为32bit和64bit),包含如下信息: 对象hashCode 对象GC分代年龄 锁状态标志(轻量级锁、
分类:
编程语言 时间:
2016-02-03 22:30:08
阅读次数:
165
刚才debug追堆栈的时候发现一个很奇怪的问题我用IE8和Google的浏览器访问同一个地址Action的 scope="session" 也设置了而且两个浏览器提交的参数map也是互相独立的不过很奇怪的一个 两个Action对象的hashmap是不同的但是它们的对象变量 paraterMap 的
分类:
编程语言 时间:
2016-01-29 11:39:49
阅读次数:
170
Many of the Java programmers know what 'Hashcode' means, but don't really know how exactly it is calculated and why 31 is used to calculate the hashco...
分类:
编程语言 时间:
2016-01-22 08:09:26
阅读次数:
128