- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 入坑JAVA多线程并发(一)创建线程的三种方式
java中创建线程的方式有三种,继承Thread,实现Runable,实现Callable;继承Threadr public class TheadTest extends Thread { @Override public void run() { System.out.println("已经启动线程"); }...
2018-05-31 22:42:51 297
原创 Integer自动拆箱遇到的一个坑
代码大致如下: class test{ private Integer num; private Integer sum; public Integer getNum() { return num; } public void setNum(Integer num) { ...
2018-05-28 22:17:37 804 1
原创 Java从入门到放弃(十五)集合框架之LinkedHashMap源码
LinkedHashMap是一个有序的HashMap,各个节点以双向链表的形式链接着,结构如图所示: LinkedHashMap的真实结构不会死这样子的,因为长度原因截图部分。节点里的数字标识实际上是没有的,是为了表示插入的顺序(如果是jdk1.7图会有不同,因为1.8之前hashmap是头插入,1.8之后是尾插入)。每一个节点就是一个内部类Entry对象,这个结构图和HashMap的结构图基本...
2018-05-21 18:32:55 176
原创 Java从入门到放弃(十四)集合框架之TreeMap源码
我们经常需要对一些集合按照指定的规则进行排序,比如学生按照学号排序,或者按照成绩排序,集合里面有专门排序的集合,如TreeMap。TreeMap里面是使用的红黑树结构。构造方法 private final Comparator<? super K> comparator; private transient Entry<K,V> root; ...
2018-05-20 12:45:37 199
原创 LeetCode刷题笔记(十一)盛最多水的容器
题目:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。注意:你不能倾斜容器,n 至少是2。解法1:暴力class Solution { public int maxArea(int[] heig...
2018-05-13 13:56:40 1573
原创 LeetCode刷题笔记(十)正则表达式匹配
给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符。'*' 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = "aa"p = "a"输出: fals...
2018-05-13 09:22:23 1449
原创 LeetCode刷题笔记(九)回文数
题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将整数转为...
2018-05-12 16:28:02 195
原创 LeetCode刷题笔记(八)字符串转整数 (atoi)
题目:实现 atoi,将字符串转为整数。 在找到第一个非空字符之前,需要移除掉字符串中的空格字符。如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值。如果第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。字符串可以在形成整数的字符后面包括多余的字符,这些字符可以被忽略,它们对于函数没有影响。当字符串中的第...
2018-05-12 15:40:32 1773
原创 Java从入门到放弃(十三)集合框架之HashSet源码
HashSet是Set集合的一种,Set集合是一种不允许出现重复值的集合,可以用来作为去重。1、构造函数 private transient HashMap<E,Object> map; //内部的一个HashMap数据成员 private static final Object PRESENT = new Object(); ...
2018-05-07 23:39:12 157
原创 LeetCode刷题笔记(七)反转整数
题目:给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21解法1:字符串解法class Solution { public int reverse(int x) { int result; StringBuilder str = ne...
2018-05-06 13:26:26 225
原创 LeetCode刷题笔记(六)Z字形变换
题目: 将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = "PAYPALISHIRING", nu...
2018-05-06 11:45:28 222
原创 Java从入门到放弃(十二)集合框架之HashMap源码(3)
1、romove方法 public V remove(Object key) { Node<K,V> e; return (e = removeNode(hash(key), key, null, false, true)) == null ?null : e.value; //调用removeNode方法,返回调用方法的值 } final ...
2018-05-05 23:12:35 128
原创 JAVA随时笔记(三):自己实现一个简单的ArrayList
本着更加深刻的理解ArrayList的目的,所以自己实现一个简单的ArrayList,只是实现了List接口,实现了大部分的方法,其实还有一些地方不完善,比如对于参数的异常判断,返回值的判断,还有常数的直接使用。其实只要明白其中的原理即可。MyArrayList类:package testpackge.util;import java.util.*;/** * 自己实现A...
2018-05-05 07:04:45 342
原创 IDEA error:Let definitions are not supported by current javascript
file-settings:设置js版本
2018-05-04 08:09:56 6865
原创 LeetCode刷题笔记(五)最长回文子串
题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例2:输入: "cbbd"输出: "bb"解法1:暴力遍历class Solution { public String longestPalindrome(String s) { Strin...
2018-05-02 12:34:19 263
原创 Java从入门到放弃(十一)集合框架之HashMap源码(2)
1、put方法 public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } //hash就是key的hash值,根据这个hash得出数据存放再数组中的位置,onlyIfAbsent为true时,不存在key才会执行put操作。 final...
2018-05-02 07:57:47 176
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人