牛客网题错题总结---java(2020.3.25)

前言

之前一直使用word总结,导致有了一堆文件,而且看得时候很不方便。今天突然想的可以用这个总结,比较方便。
今天是最惨的一次 ,一次就错了17个,一共30题, 醉了。
总结了下,今天格外没耐心,错了不少不该错的。

1.socket编程图解

socket

2.HashMap中是用哪些方法来解决哈希冲突的?

HashMap底层是数组+链表+红黑树(JDK1.8)来实现的,根据key的hash值查找对应的位桶。
1.当前索引数组为空,则将键值对以链表形式插入。
2.当前索引数组已经存在,则判断当前链表是红黑树还时链表,然后插入。如果是链表插入到最后一个,判断长度是否大于8,大于8将链表转成红黑树。
所以是拉链法解决冲突。

  • 解决哈希冲突常用的两种方法是:开放定址法和链地址法
    • 开放定址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字,即查找失败。
    • 链地址法:将所有关键字为同义词的结点链接在同一个单链表中。若选定的散列表长度为m,则可将散列表定义为一个由m个头指针组成的指针数 组T[0…m-1]。凡是散列地址为i的结点,均插入到以T[i]为头指针的单链表中。T中各分量的初值均应为空指针。
  • 哈希冲突解决方法:
    - 开放地址法
    - 链地址法(拉链法)
    - 再散列
    - 建立一个公共溢出区
3.Java运算符优先级
	    int a =100,b=50,c=a---b,d=a---b;
        System.out.println(a);
        System.out.println(b);
        System.out.println(c
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值