- 博客(8)
- 收藏
- 关注
原创 关于HashMap问题二
在最近参加的一次某国内知名公司实习生面试中,被问到了HashMap的底层实现,让我说一下,我当时说是散列表,然后把怎么存储,怎么取,什么比较hashcode,equals说了一堆,然后面试官问我,如果两个hashmap放了相同的一个key怎么办?当时懵了。。。。。。回来后看了下源码,发现这块是一个数组实现的,每一个hashmap会维护自己的一个entry数组,这个数组的大小必须是2的n次方
2015-04-25 22:05:15
439
原创 关于java的HashMap的问题
在以前看java书的时候得知如果向hashmap中添加元素的时候要先计算hashcode然后算出一个index,如果index位置上没有元素则添加该entry到此位置,但是如果此位置上已经有元素则会用equals比较,如果也相同则会更新value值。于是乎我就考虑到这里如果一个类中重写equals和hashcode函数使之均返回同样值,那么,是不是放同样对象时候会调用两次hashcode和一次
2015-04-25 21:54:03
358
原创 jdk1.6学习笔记
从今天开始学习jdk1.6,虽然有点老了,但是还是有必要学习下的。首先第一个类,也是经常用到的String。String类在java.lang包中。定义为public final class String,此类有四个属性分别是char数组value[],int型offset,int型count,int型hash。value是字符串对应的字符数组值,offset是一个位置标记量,coun
2015-04-25 11:01:06
362
转载 x=x+1,x+=1,x++在java中的效率问题
原帖链接x=x+1最低,因为它的执行过程如下: 1. 读取右x的地址; 2. x+1; 3. 读取左x的地址; 4. 将右值传给左边的x(编译器并不认为左右x的地址相同). x=+1其次,它的执行过程如下: 1. 读取右x的地址; 2. x=1; 3. 将得到的值传给x(因为x的地址已经读出). x++最高,它的执行如下: 1. 读取
2015-03-15 15:38:37
799
原创 一个关于StringBuffer的java题目
有这么一个程序片段public class Test{ public static void main(String[] args){ StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operat
2015-03-15 15:16:29
1839
原创 默默地开始
研究生已经到了研二下学期了,不知不觉已经是25岁了。在这么一个充满了竞争的社会中要想生存必须要谋得一份和值的工作,要工作就得有能力,那么我现在就面临着找工作了,所以我应该复习下面试的知识了,从今天起写写复习中遇到的东西。
2015-03-15 15:08:59
448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人