首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

2019Java面试题:为什么使用hashmap需要重写hashcodes和equals方法?

总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多了。也就是说,如果集合中现在已经有1000个元素,那么第1001个元素加入集合时,它就要调用1000次equals方法。这显然会大大降低效率。

04

搜索引擎中的URL散列

散列(hash)也就是哈希,是信息存储和查询所用的一项基本技术。在搜索引擎中网络爬虫在抓取网页时为了对网页进行有效地排重必须对URL进行散列,这样才能快速地排除已经抓取过的网页。最理想的状态是对联网上所有的网页都分配一个哈希地址,可想而知这是一个相当宠大的数字,但实际上往往是无法做到这一点。虽然google、百度都是采用分布式的机群进行哈希排重,但实际上也是做不到所有的网页都分配一个唯一散列地址。但是可以通过多级哈希来尽可能地解决,但却要会出时间代价在解决哈希冲突问题。所以这是一个空间和时间相互制约的问题,我们知道哈希地址空间如果足够大可以大大减少冲突次数,所以可以通过多台机器将哈希表根据一定的特征局部化,分散开来,每一台机器都是管理一个局部的散列地址。

03

二级java程序设计--Java SDK6.0的下载和操作[通俗易懂]

掌握分析与学习目的 1.掌握java SDK的下载,安装和配置 2.java基本编程规范 一.Java SDK6.0的安装 需要安装的构件包括开发工具,演示程序及样例,源代码,而公共的JRE和Java DB可以不安装。 (1)开发工具:java的核心,包括开发java程序必需的类库和工具,已经包括jre。 (2)演示程序和样例 (3)源代码:java所有核心类库的源代码 安装完后: src.zip:该压缩文件中存放的是java所有核心类库的源代码。 二.Java SDK6的操作命令:可以分为10类:基本命令,安全控制命令,国际化命令,RMI(远程方法调用)命令,java部署命令等。 三.java编程规范 1.java命名约定基本原则: (1)_,$不作为变量名,方法名开头。 (2)变量名,方法名首单词小写,其余单词只有首字母大写。 (3)接口名,类名第一个字母大写。 (4)常量完全大写。 2.注释规则: (1)文档注释:/***/ (2)多行注释:/**/ (3)单行注释:// 3.注释的使用原则: (1)在类的声明中需要注释的地方:类的功能和用途处,类的开发和维护历史。 (2)接口需要注释的地方是:接口的用途,使用环境和使用方法。 (3)属性的注释需要对属性描述:若属性的可见效定义不是私有,应该用注释适当说明理由。 (4)成员方法注释:位于源代码的顶部。注释的内容包括与方法相关的所有信息。 4.java源文件结构规则 (1)版权信息:必须位于java文件的开头。 (2)package/imports语句:package语句在imports语句之前。

02
领券