import java.util.Set; import java.util.HashSet; import java.util.Iterator; public class SetTest { public static void main(String[] args) { Set<String> ...
分类:
其他好文 时间:
2020-06-08 19:05:24
阅读次数:
60
数组和链表组合构成 hash code 相等的value存入链表 size/capacity >0.75 时 会扩容,长度是原数组的2倍 Hash的公式 > index = HashCode(Key) & (Length - 1) 扩容后,原来的数组成员会根据公式重新分配index. JAVA8之前 ...
分类:
其他好文 时间:
2020-06-08 10:57:16
阅读次数:
65
一、Set集合特点 插入无序,不可指定位置访问。且内部数据不能重复(==或equals)的元素(只要有一个为true就不能重复,重写了equals方法也算)。常用实现类有HashSet、TreeSet。 二、元素不能重复? 1.Set是如何判断元素重复? HashSet是由HashMap实现的,Ha ...
分类:
其他好文 时间:
2020-06-08 00:20:20
阅读次数:
80
题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 题目链接: https://w ...
分类:
其他好文 时间:
2020-06-07 21:35:46
阅读次数:
64
2 << 3(左移 3 位相当于乘以 2 的 3 次方,右移 3 位相当于除以 2 的 3 次方)。 补充:我们为编写的类重写 hashCode 方法时,可能会看到如下所示的代码,其实我们不太理解为什么要使用这样的乘法运算来产生哈希码(散列码),而且为什么这个数是个素数,为什么通常选择 31 这个数 ...
分类:
其他好文 时间:
2020-06-07 16:48:05
阅读次数:
71
##重写equals方法和hashcode方法 public class Person { private String name; private int age; //重写equals方法 @Override public boolean equals(Object obj) {//判断地址是否 ...
分类:
其他好文 时间:
2020-06-07 12:55:24
阅读次数:
68
1、map.put(k,v)实现原理 第一步首先将k,v封装到Node对象当中(节点)。第二步它的底层会调用K的hashCode()方法得出hash值。第三步通过哈希表函数/哈希算法,将hash值转换成数组的下标,下标位置上如果没有任何元素,就把Node添加到这个位置上。如果说下标对应的位置上有链表 ...
分类:
其他好文 时间:
2020-06-06 00:37:07
阅读次数:
71
1、前言 HashMap是面试中经常问到的一个知识点,也是判断一个候选人基础是否扎实的标准之一,因为通过HashMap可以引出很多知识点,比如数据结构(数组、链表、红黑树)、equals和hashcode方法,除此之外还可以引出线程安全的问题,HashMap是我在初学阶段学到的设计的最为巧妙的集合, ...
分类:
其他好文 时间:
2020-05-31 19:58:12
阅读次数:
59
package com.example.demo; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; /** * 5409. 检查一个字符串是否包含所有 ...
分类:
其他好文 时间:
2020-05-31 13:21:18
阅读次数:
66
Object 在scala中被object关键字修饰的类有如下特征: 1、是单例的 2、不需要通过new来创建对象,直接通过类名创建 3、没有有参的主构造器,但是有主构造代码块(不包含在任何方法中的代码,就是object的主构造代码块) 4、通常用于封装一些常量、工具类、枚举和隐式转换函数 5、主构 ...
分类:
其他好文 时间:
2020-05-30 17:14:32
阅读次数:
54