首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JAVA面试50讲之5:Vector,ArrayList,LinkedList区别

也就是说,我们加入一个新元素时候,如果这个新元素对象和Set已有对象进行注意equals比较返回false,     则Set就会接受这个新元素对象,否则拒绝。...向HashSet集合存入一个元素,HashSet会调用该对象      hashCode()方法来得到该对象hashCode,然后根据该HashCode决定该对象HashSet存储位置...值得主要是,HashSet集合判断两个元素相等标准是两个对象通过equals()方法比较相等,并且两个对象hashCode()方法返回相等 1.1.1) LinkedHashSet...并且类似于HashSet判断两个key是否相等标准也是: 两个key通过equals()方法比较返回true、    同时两个keyhashCode也必须相等 1.1) LinkedHashMap...基本相似,IdentityHashMap两个key严格相等(key1 == key2),IdentityHashMap认为两个key相等 6) EnumMap EnumMap

1.9K10

《Java面试题集中营》- Java基础

支持多种编码 GET请求参数会被完整保留在浏览器历史记录,而POST参数不会被保留 GET请求URL传送参数是有大小限制,不能大于2KB,而POST可以说没有 GET只接受ASCII字符,而...并发,集合等都在该包 equals与==区别 equals 比较两个实体是否相同,可以被覆盖,但需要遵循几个约定: 自反性:对于任何非null引用x, x.equals(x)必须返回true...对称性:对于任何非null引用x和y,y.equals(x)返回true,x.equlas(y)必须返回true 传递性:对于任何非null引用x、y、z,如果x.equals(y)返回...true,并且y.equals(x)也返回true,那么x.equals(z)也必须返回true 一致性:对于任何非null引用x和y,只要比较对象所有信息没有被修改,多次调用equals一致返回...MAXIMUM_CAPACITY : n + 1; } 该方法计算大于等于输入参数并最接近参数2整数次幂数,如10,返回16 cap -1 ,-1是为了计算时候能得到大于等于输入参数

6010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript 新手踩坑日记

    宽松相等带来bug JavaScript 中有两种方式来判断两个是否相等。 严格相等 ( === ) 和严格不等 ( !== ) 要求比较必须是相同类型。...JavaScript 数字是精度(64位),基于 IEEE 754 标准。 由于所有数字都是浮点数,所以这里就会有精度问题。还记得前段时间网上流传机器人漫画么?... ES6 引入了两个函数专门判断 Infinity 和 NaN,Number.isFinite() 和 Number.isNaN() 以后建议用这两个函数进行判断。...“字符串—映射 WeakMap 于 Map 类似,区别在于它只接受对象作为键名( null 除外),键名指向对象也不计入垃圾回收机制,它也无法遍历,也无法清空clear 七....arguments 并不是函数参数副本,所有命名参数都是 arguments 对象对应索引别名。

    12110

    JavaScript 新手踩坑日记

    宽松相等带来bug JavaScript 中有两种方式来判断两个是否相等。 严格相等 ( === ) 和严格不等 ( !== ) 要求比较必须是相同类型。...JavaScript 数字是精度(64位),基于 IEEE 754 标准。 由于所有数字都是浮点数,所以这里就会有精度问题。还记得前段时间网上流传机器人漫画么? ?... ES6 引入了两个函数专门判断 Infinity 和 NaN,Number.isFinite() 和 Number.isNaN() 以后建议用这两个函数进行判断。...“字符串—映射 WeakMap 于 Map 类似,区别在于它只接受对象作为键名( null 除外),键名指向对象也不计入垃圾回收机制,它也无法遍历,也无法清空clear 七....arguments 并不是函数参数副本,所有命名参数都是 arguments 对象对应索引别名。

    59420

    NumPy 1.26 中文文档(四十三)

    err_msg字符串,可选 失败打印错误消息。 verbose布尔,可选 如果为 True,冲突将附加到错误消息。 引发: 断言错误 如果实际和期望指定精度上不相等。...给定两个对象(标量、列表、元组、字典或 numpy 数组),检查这些对象所有元素是否相等。在出现第一个冲突引发异常。...引发: AssertionError 如果实际和期望指定精度相等。 另请参见 assert_allclose 用所需相对精度和/或绝对精度比较两个类似数组对象是否相等。...此上下文管理器在其构造函数接受modules序列作为关键字参数,并: 进入时存储和删除给定modules任何__warningregistry__条目; 退出将__warningregistry...常见测试用例(例如单精度精度等矩阵)收集LinalgTestCase

    11810

    Lua 基础

    返回 Lua函数return后列出要返回列表即可返回多值。 可变参数 Lua 函数可以接受可变数目的参数,和 C 语言类似,函数参数列表中使用三点 ... 表示函数有可变参数。...,否则返回 false ~= 不等于,检测两个是否相等相等返回 false,否则返回 true 大于,如果左边大于右边返回 true,否则返回 false < 小于,如果左边大于右边...参数init可选, 指定搜寻过程起点, 默认为1。 成功配对时, 函数将返回配对表达式所有捕获结果; 如果没有设置捕获标记, 则返回整个配对字符串. 没有成功配对时, 返回nil。...很多情况下,迭代器需要保存多个状态信息而不是简单状态常量和控制变量,最简单方法是使用闭包,还有一种方法就是将所有的状态信息封装到table,将table作为迭代器状态常量,因为这种情况下可以将所有的信息存放在...comp应满足以下条件: 接受两个参数(依次为a, b), 并返回一个布尔型, a应该排在b前面, 返回true, 反之返回false.

    2.2K00

    史上最强HashMap源码深度解析(3w字图文并茂)

    )而存在(“拉链法”解决冲突).JDK1.8 以后解决哈希冲突时有了较大变化,链表长度大于阈值(或者红黑树边界,默认为 8)并且当前数组长度大于64,此时此索引位置上所有数据改为使用红黑树存储...所以综上所述为了提高性能和减少搜索时间,底层阈值大于8并且数组长度大于64,链表转换为红黑树。具体可以参考 treeifyBin方法。...当然虽然增了红黑树作为底层数据结构,结构变得复杂了,但是阈值大于8并且数组长度大于64,链表转换为红黑树,效率也变更高效。...扩容机制你要有这两个问题 1.什么时候需要扩容 2.HashMap扩容是什么 1.什么时候需要扩容 HashMap元素个数超过数组大小(数组长度)*loadFactor(负载因子),就会进行数组扩容...4.这里和插入时一样,如果对比节点哈希和要查找哈希相等,就会判断key是否相等相等就直接返回。不相等就从子树递归查找。

    1K20

    Java基础知识:HashMap(二)

    (数组结点)hash和key是否相等 1)p.hash == hash :p.hash表示原来存在数据hash hash表示后添加数据hash 比较两个hash是否相等...= null && key.equals(k):能够执行到这里说明两个key地址相等,那么先判断后添加key是否等于null,如果不等于null再调用equals方法判断两个key内容是否相等...4.11.3 扩容方法 resize() 4.11.3.1 扩容机制: 什么时候需要扩容 HashMap 元素个数超过数组大小(数组长度) * loadFactor(负载因子),就会进行数组扩容...这里和插入时一样,如果对比结点哈希和要查找哈希相等,就会判断key是否相等相等就直接返回。不相等就从子树递归查找。 若为树,则在树通过key.equals(k)查找,O(logn)。...HashMap 扩容条件就是 HashMap 元素个数(size)超过临界(threshold)就会自动扩容。

    29410

    基础数据类型之String

    ,进行循环 如果第一个相等比较第二个,依次类推,直到不一样 如果所有相等,那么就比较长度了 return n1 - n2 ?...,他们按照当初编码方式进行解码,必然对应还是同样那个字符 操作系统文件都是以字节序列形式存储,所以任何一个文件都是有编码 比如你txt文件输入了一个字符这个字符 底层就会使用指定编码存储到字节软件本身又把这个编码以字符形式呈现出来所以你看得到是一个字符比如这个文件...String是否以指定前缀开始还可以指定起始位置处开始比较从源代码看得出来,挨个比较内部char从头开始,全部一致返回true参数参数简化版本 endsWith(String) endwith...(CharSequence) 这两个方法   分别针对参数StringBuffer  和 CharSequence 他们都是  表示相同 char 序列,结果true 比较也是内容...,则返回池中字符串 否则,将此 String 对象添加到池中,并返回此 String 对象引用   它遵循以下规则:对于任意两个字符串 s 和 t, s.equals(t) 为 true

    75320

    基础类型BigDecimal简介

    BigDecimal(double val) BigDecimal(double val, MathContext mc) 这两个构造方法具有一定不确定性 如下图所示,这是因为二进制无法准确地表示...compareTo(BigDecimal val)相等但具有不同标度两个 BigDecimal 对象(如,2.0 和 2.00)被认为是相等 注意:与equals相等含义不同小于、等于或大于...val 返回 -1、0 或 1 equals 判断是否相等 与 compareTo 不同 两个 BigDecimal 对象和标度相等,此方法认为它们相等...ulp unit in the last place 两个数之间距离,在数学是无限,比如1和2之间有无数个数 但是计算机是有限,因为计算机需要用有限个字节来表示double或者float...0形式数值800.000去掉所有的0 就是8   准换后为8乘以10平方 总结 BigDecimal虽然有诸多特性与特别,,但是本质仍旧是浮点数 所以自然提供了浮点数相关一些操作 作为数值基本运算方法具备

    2.3K41

    Java高级工程师常见面试题(一)-Java基础「建议收藏」

    EnumSet集合元素也是有序,它们以枚举Enum类定义顺序来决定集合元素顺序。 2) List集合代表一个元素有序、可重复集合,集合每个元素都有其对应顺序索引。...ArrayList类似,它们底层采用一个动态、可重分配Object[]数组来存储集合元素,集合元素超出该数组容量,系统会在底层重新分配一个Object[]数组来存储集合元素 3.2.2)...5) IdentityHashMap实现机制与HashMap基本相似,IdentityHashMap两个key严格相等(key1 == key2),IdentityHashMap认为两个...key相等 6) EnumMap是一个与枚举类一起使用Map实现,EnumMap所有key都必须是单个枚举类枚举。...Java队列都有哪些,有什么区别。 端队列、阻塞队列、非阻塞队列 阻塞队列,队列是空,从队列获取元素操作将会被阻塞,或者队列是满,往队列里添加元素操作会被阻塞。

    56520

    MySQL 之 JSON 支持(一)—— JSON 数据类型

    存储 JSON 列 JSON 文档被转换为能对文档元素进行快速读取访问内部格式。服务器读取以这种二进制格式存储 JSON ,不需要从文本表示解析该。...TIME:两个时间较小一个按顺序排在较大一个之前。 DATE:较早日期排在最近日期之前。 ARRAY:如果两个 JSON 数组具有相同长度,并且数组相应位置相等,则它们是相等。...如果数组相等,则它们顺序由存在差异第一个位置元素决定。该位置中值较小数组排在前面。如果较短数组所有等于较长数组相应,则较短数组排在前面。...OBJECT:如果两个 JSON 对象具有相同键集,并且两个对象每个键具有相同,则它们是相等。...,已知所有比较涉及一个整数和一个精度,因此所有整数转换为精度

    2.6K30

    2023我前端面试小结_2023-05-19

    Promise构造函数接受一个函数作为参数,该函数两个参数分别是resolve和reject。...testPromise方法传递一个参数返回一个promise对象,如果为true的话,那么调用promise对象resolve()方法,并且把其中参数传递给后面的then第一个函数,因此打印出...数组所有的promise状态达到resolved时候,all方法状态就会变成resolved,如果有一个状态变成了rejected,那么all方法状态就会变成rejected。...(4)race()race方法和all一样,接受参数是一个每项都是promise数组,但是与all不同是,最先执行完事件执行完之后,就直接返回该promise对象。...所有浏览器兼容这种方式。直接在dom对象上注册事件名称,就是DOM0写法。IE 事件模型,该事件模型,一次事件共有两个过程,事件处理阶段和事件冒泡阶段。

    47070

    ECMAScript 6 新特性总结

    x - 1; Math.fround(x) 返回x精度浮点数形式; Math.hypot(...values) 返回所有参数平方和平方根; Math.imul(x, y) 返回两个参数以32位整数形式相乘结果...Array.from()还可以接受第二个参数,作用类似于数组map方法,用来对每个元素进行处理。...hello() { console.log('我名字是', this.name); } }; ES6允许字面量定义对象,用表达式作为对象属性名,即把表达式放在方括号,允许变量渗入 key 。...Symbol函数可以接受一个字符串作为参数,表示Symbol实例名称。...Set内部判断两个是否不同,使用算法类似于精确相等运算符(===),唯一例外是NaN等于自身。这意味着,两个对象总是不相等

    1.5K60

    开心档-软件开发入门之Ruby 数组(Array)

    Array 方法,该方法使用一个范围作为参数来创建一个数字数组:实例#!...9array == other_array 如果两个数组包含相同元素个数,且每个元素与另一个数组相对应元素相等(根据 Object.==),那么这两个数组相等。...两个具有相同内容数组将具有相同哈希代码。35array.include?(obj) 如果 self 包含 obj,则返回 true,否则返回 false。...如果匹配则返回第一个包含数组。51array.reject { |item| block } 返回一个新数组,包含 block 不为 true 数组项。52array.reject!...58array.select {|item| block } 调用从数组传入连续元素 block,返回一个数组,包含 block 返回 true 元素。

    1.6K30

    开心档-软件开发入门之Ruby 数组(Array)

    Array 方法,该方法使用一个范围作为参数来创建一个数字数组: ​​实例​​ #!...9 array == other_array 如果两个数组包含相同元素个数,且每个元素与另一个数组相对应元素相等(根据 Object.==),那么这两个数组相等。...两个具有相同内容数组将具有相同哈希代码。 35 array.include?(obj) 如果 self 包含 obj,则返回 true,否则返回 false。...如果匹配则返回第一个包含数组。 51 array.reject { |item| block } 返回一个新数组,包含 block 不为 true 数组项。...58 array.select {|item| block } 调用从数组传入连续元素 block,返回一个数组,包含 block 返回 true 元素。

    1.3K30

    2022秋招前端面试题(九)(附答案)

    回来继续说 IEEE 754 精度。六十四位符号位占一位,整数位占十一位,其余五十二位都为小数位。...利用一个属性保存系统目前所占空间大小,每次存储增加该属性。该属性大于 1M ,需要按照时间排序系统数据,删除一定量数据保证能够存储下目前需要存储数据。...返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接受以下三个参数:element、index、array,参数意义与 forEach 一样。...返回数组中有至少一个元素通过回调函数测试就会返回 true所有元素都没有通过回调函数测试返回才会为 false。...initialValue(可选): 作为第一次调用 callback 函数参数 preVal

    2.6K30

    ES6-标准入门·语法扩展

    调用非全局 RegExp 对象 exec() 方法返回数组与调用方法 String.match() 返回数组是相同。...这就是说,可以通过反复调用 exec() 方法来遍历字符串所有匹配文本。 exec() 再也找不到匹配文本,它将返回 null,并把 lastIndex 属性重置为 0。...Math.fround 方法返回一个数精度浮点数形式。 Math.hypot 方法返回所有参数平方和平方根。 Math.expm1(x) 返回 e-1,即 Math.exp(x)-1。...Array.from 还可以接受第二个参数,作用类似于数组 map 方法,用来对每个元素进行处理,将处理后放入返回数组。...JavaScript 缺乏这样一种运算:在所有环境,只要两个是一样,它们就应该相等。 ES6 提出了 “Same-value equality”(同相等)算法用来解决这个问题。

    1.1K40
    领券