我们在日常的开发中,可以使用Set集合去重,代码如下: // 去重并不打乱顺序 Set<String> setList = new HashSet<String>(); // 保存 for (int i = 0; i < codeList.size(); i ++) { String code = ...
分类:
编程语言 时间:
2020-04-17 14:00:57
阅读次数:
111
实体类 class Point { private int x; private int y; public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; ...
分类:
编程语言 时间:
2020-04-17 00:35:28
阅读次数:
78
HashMap源码分析 简介 HashMap是一个底层用数组+链表实现的存储KV键值对数据结构,它允许null键和null值。 原理 HashMap的存储规则是,根据K的hashCode运算得到hash值,然后根据hash值运算得到下标,如果数组中该下标没有值就放入,有值就一个一个比较是否hash值 ...
分类:
其他好文 时间:
2020-04-17 00:11:06
阅读次数:
52
Problem: A?+?B is a problem used to test one's basic knowledge for competitive programming. Here is yet another boring variation of it. You have two i ...
分类:
其他好文 时间:
2020-04-16 22:50:39
阅读次数:
182
HashSet 先看一下成员变量 // 由此可见内部存储是一个HashMap private transient HashMap<E,Object> map; private static final Object PRESENT = new Object(); public HashSet() { ...
分类:
其他好文 时间:
2020-04-15 18:29:11
阅读次数:
67
Object类 简介 Object类是Java所有类的 始祖 ,所有类都是在Object类上扩展而成的。如果没有明确指出继承的是什么类,那么默认就是继承Object类。 注: 所有的 数组 类型都扩展了Object类。 在Java中只有 基本类型不是对象 ,比如:数值、字符、布尔类型 超类方法 1. ...
分类:
其他好文 时间:
2020-04-15 18:23:11
阅读次数:
66
先初步了解在Java创建对象的内存分配知识 在JVM中,内存分为堆内存跟栈内存。他们二者的区别是: 当我们创建一个对象(new Object)时,就会调用对象的构造函数来开辟空间,将对象数据存储到堆内存中,与此同时在栈内存中生成对应的引用,当我们在后续代码中调用的时候用的都是栈内存中的引用。还需注意 ...
分类:
其他好文 时间:
2020-04-14 17:09:04
阅读次数:
63
有人说要满足hash规则:两个对象相等,hash值一定要相等,我觉得这不是一个规范问题 因为在一些场景,比如hashSet、hashMap 里面判断是否是同一个元素,是调用了hashcode方法的,如果在重写equals方法以后,没有重写hashcode,那么两个对象equals比较返回true,二 ...
分类:
其他好文 时间:
2020-04-14 12:29:25
阅读次数:
66
Integer i1=10; Integer i2=10; Integer i3=new Integer(10); Integer i4=new Integer(10); System.out.println(i1==i2); System.out.println(i1==i3); System.o ...
分类:
其他好文 时间:
2020-04-14 10:47:38
阅读次数:
70
1. 概述 从本文你可以学习到: 什么时候会使用HashMap?他有什么特点? 你知道HashMap的工作原理吗? 你知道get和put的原理吗?equals()和hashCode()的都有什么作用? 你知道hash的实现吗?为什么要这样实现? 如果HashMap的大小超过了负载因子(load fa ...
分类:
编程语言 时间:
2020-04-13 00:28:45
阅读次数:
78