删除重复链表
# 题目 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 示例 1: 输入:[1, 2, 3, 3, 2, 1] 输出:[1, 2, 3]示例 2: 输入:[1, 1, 1, 1, 2] 输出:[1, 2]tips: 链表长度在 [0, 20000] 范围内。 链表元素在 [0, 20000] 范围内。 # 解法一:HashSet 用 hashset 缓存已经遍历过的结点,在每次拼接下一个节点时,去判读是否已经遍历过这个数字,如果遍历过就跳过,如果没有就拼接在 res 链表上。 /** * Definition for singly-linked list. * public...
more...equals&==的区别
以下为 Jean 学习笔记和习题整理,供学习和参考 # == 1. 判断对象地址是否相等。eg:Integer 和 Integer 这里注意一下:IntegerCache 缓存 JAVA 的 Integer 有 IntegerCache 会缓存 - 128~127 之间的对象。 Integer 类型在 - 128-->127 范围之间是被缓存了的,也就是每个对象的内存地址是相同的,赋值就直接从缓存中取,不会有新的对象产生,而大于这个范围,将会重新创建一个 Integer 对象,也就是 new 一个对象出来,当然地址就不同了,也就!=; Integer a =...
more...String&StringBuilder&StringBuffer
以下为 Jean 学习笔记和习题整理,供学习和参考 # String String 底层就是 char [],char 类型的数组,使用时开发者不需要直接操作底层数组,用更加简便的方式即可完成对字符串的使用。 特点: 不变性:对 String 对象进行任何操作都是创建一个新的对象,再把引用指向该对象。不变的模式主要作用在当一个对象需要被多线程共享并频繁访问时,可以保持数据的一致性。 常量池优化:String 创建对象之后,会在字符串常量池中进行缓存,如果下次创建同样的对象时,会直接返回缓存的引用。 final: 使用 final 来定义 String 类,表示 String...
more...浅拷贝&深拷贝
以下为 Jean 学习笔记和习题整理,供学习和参考 # 浅拷贝 只拷贝源对象的地址,所以源对象的任何值发生改变时,拷贝对象的值也会随之发生改变。 创建一个新的对象,然后将当前对象的非静态字段复制到该新对象,如果字段是值类型的,那么对该字段进行复制,如果该字段是引用类型的,则复制但不复制引用的对象,因此,原始对象及其副本引用同一个对象。 # 浅拷贝 Demo // 如果一个 User 对象有 username 和 password 两个属性User user01 = new User();// 浅拷贝User user02 = user01;// 此时 user02 做任何修改时 user01...
more...SpringBootAdmin搭建
以下为 Jean 学习笔记和习题整理,供学习和参考 # 介绍 区分两个概念: 服务端:Spring Boot Admin 作为 Server,作为监控作用。 客户端:其他 Spring Boot 应用作为 Client,Client 把自身的信息 “注册” 到 Server,我们就能在 Server 上看到 “注册” 的 Spring Boot 应用的状态信息了。 # 1. 服务端搭建: #...
more...