资讯专栏INFORMATION COLUMN

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

Cciradih / 3462人阅读

摘要:的底层结构是一个数组,数组中的每一项是一条链表。的实例有两个参数在影响其性能初始容量和装填因子。不同步线程不安全。继承实现继承实现。中数组默认大小是,增加的方式是。内部使用保存数据,即将的数据作为的值保存,这也是中元素不能重复的原因。

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

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

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之间


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/77731.html

相关文章

  • 客网】-- 日日(第二天)

    摘要:以字符串形式返回指定的请求头的值。返回一个数组,包含客户端发送该请求的所有的对象。生命的河流就这样,不舍昼夜,奔向它理想的海洋。 昨天加班 日日刷废了,这是个很不好的习惯补上昨日份的 ========================================================================= 1、下面哪个不是Java语言的关键字(B) A def...

    warkiz 评论0 收藏0
  • 客网】-- 日日(第五天)

    还剩11天 ========================================================================= 1、抽象类方法的访问权限默认都是public。(√) 在Java1.8以前,抽象类方法默认的访问权限为protected在Java1.8以后,抽象类方法默认的访问权限为default ============================...

    ARGUS 评论0 收藏0
  • 客网】-- 日日(第四天)

    摘要:断更了,家里出了一点事情,回家了几天,然后回头看发现握草,断了天,因此,每天补一个吧下列符号中可以在程序里表示单行注释的是个人见解选项目前我只在语法中使用过,代表注释的意思选项是多行注释选项是单行注释选项是文档注释在方法中给出的整型数组 断更了,家里出了一点事情,回家了几天,然后回头看发现握草,断了12天,因此,每天补一个吧 ==============================...

    sunsmell 评论0 收藏0
  • 客网】-- 日日(第一天)

    摘要:应用程序源程序文件编译后的字节码文件的扩展名是个人见解源文件在经过虚拟机的编译后会生成文件被叫做字节码文件。而该文件正是可以被叫做跨平台的原因通过移动该字节码文件到不同的操作系统上再通过将字节码文件翻译成机器语言从而运行应用程序。 1、Java Application(Java 应用程序)源程序文件编译后的字节码文件的扩展名是( B ) A java B class ...

    loonggg 评论0 收藏0
  • 题时js的输入问题总结

    摘要:牛客网其中只支持单行输入赛码网注意,如果一行超过个字符,会被强制分行的,因此如果题目明确说明该行超过字符,请自行拼接当然,我们尽量不出这种题目。 刷题时js的输入问题总结大部分来自于 http://www.cnblogs.com/floor/... 感谢解决燃眉之急 还有小部分是自己的整理和思考 目前常见平台还不太支持ES6写法 推荐js刷题平台 https://www.codewa...

    Hancock_Xu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<