综合编程

【牛客网】– 日日刷(第三天)

微信扫一扫,分享到朋友圈

【牛客网】– 日日刷(第三天)
0

自制力不行,需改正,为什么昨天断了,以后这样的事情是否还会发生

=========================================================================

1、下列的哪个选项可以正确用以表示八进制值8? ( 010 )

个人见解:

我特喵的竟然这道题错了,我竟然选择了08,8进制会有8会有8会有8????

=========================================================================

2、下面有关java HashMap的说法错误的是 ()

A HashMap的实例有两个参数影响其性能:“初始容量” 和 “加载因子”。
B HashMap的实现不是同步的,意味着它不是线程安全的
C HashMap通过开放地址法解决哈希冲突
D HashMap中的key-value都是存储在Entry数组中的

查阅资料:

a) HashMap的数据结构是"链表散列",链表散列是数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表。

b) HashMap的实例有两个参数在影响其性能:"初始容量"和"装填因子"。

c) HashMap不同步, 线程不安全。HashTable线程安全。

d) HashMap的key-value都存储在Entry中。

e) HashMap可以存放null键值, 但是不保证元素顺序不发生变化, 通过hashCode和equals来保证键的唯一性,HashTable不可以存放null键值。

f) HashMap解决Hash冲突使用拉链法。

g) HashMap继承AbstractMap实现Map, HashTable继承Dictionary实现Map。

h) Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。

i) 判断key是否存在应该使用containsKey而不是使用get查看返回值是否为null。

j) Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。

k) 两个遍历方式的内部实现上不同。Hashtable、HashMap都使用了Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式。

另: HashSet子类依靠hashCode()和equal()方法来区分重复元素。 HashSet内部使用Map保存数据,即将HashSet的数据作为Map的key值保存,这也是HashSet中元素不能重复的原因。而Map中保存key值的,会去判断当前Map中是否含有该Key对象,内部是先通过key的hashCode,确定有相同的hashCode之后,再通过equals方法判断是否相同。

=========================================================================

3、在Java线程状态转换时,下列转换不可能发生的有(A C)?

A 初始态->运行态
B 就绪态->运行态
C 阻塞态->运行态
D 运行态->就绪态

看图可知:

=========================================================================

4、Consider the following code:

Integer s=new Integer(9);
    Integer t=new Integer(9);
    Long u=new Long(9);

Which test would return true? (CDE)

A (s==u)
B (s==t)
C (s.equals(t))
D (s.equals(9))
E (s.equals(new Integer(9))

个人见解:

Integer对象是可以使用==来判断是否相等,但是这样是存在前提条件a)不能使用new的方式来判断,b)赋值必须在-128~127之间,在此范围内使用==和equals得到的结果相同,否则不能使用==只能使用equals判断是否相等

Integer i = 100 等同于  Integer i = Integer.valueOf(100); 
而valueOf方法会去缓存中取数据,这个缓存的区间恰好是-128~127之间

阅读原文...


微信扫一扫,分享到朋友圈

【牛客网】– 日日刷(第三天)
0

SegmentFault博客

宜信安全数据平台实践

上一篇

3000玩家80%淘汰 智能门锁生死突围战

下一篇

评论已经被关闭。

插入图片

热门分类

【牛客网】– 日日刷(第三天)

长按储存图像,分享给朋友