1 whd_Alive

尚未进行身份认证

过去の自分が今仆の土台となる

等级
博文 195
排名 1w+

LeetCode 随机 - 两两交换链表中的节点

24.两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定1->2->3->4,你应该返回2->1->4->3.代码/***Definitionforsingly-linkedlist.*publicclassListNo...

2019-04-04 17:01:07

LeetCode 随机 - Z 字形变换

6.Z字形变换将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z字形排列。比如输入字符串为"LEETCODEISHIRING"行数为3时,排列如下:LCIRETOESIIGEDHN之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定...

2019-04-04 16:52:42

LeetCode 随机 - 全排列 II

47.全排列II给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入:[1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]代码classSolution{publicstaticList<List<Integer>>permuteUnique(int[]nums){...

2019-04-04 16:49:57

LeetCode 高级 - Remove Invalid Parentheses

RemoveInvalidParentheses删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。说明:输入可能包含了除(和)以外的字符。示例1:输入:"()())()"输出:["()()()","(())()"]示例2:输入:"(a)())()"输出:["(a)()()","(a())()"]示例3:

2018-08-29 23:06:27

Java 之路 (二十) -- Java I/O 上(BIO、文件、数据流、如何选择I/O流、典型用例)

前言Java的I/O类库使用流这个抽象概念,代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象。流屏蔽了实际的I/O设备中处理数据的细节。数据流是一串连续不断的数据的集合,简单理解的话,我们可以把Java数据流当作是管道里的水流。我们只从一端供水(输入流),而另一端出水(输出流)。对输入端而言,只关心如何写入数据,一次整体全部输入还是分段输入等;对于输...

2018-08-24 15:42:33

Java 之路 (十九) -- 注解(语法、预定义注解、元注解、重复注解、注解与反射)

前言官方注解的定义如下:注解(一种元数据形式)提供有关不属于程序本身的程序的数据。注解对它们注解的代码的操作没有直接影响。注解有许多用途,其中包括:编译器的信息-编译器可以使用注解来检测错误或抑制警告。编译时和部署时处理-软件工具可以处理注解信息以生成代码,XML文件等。运行时处理-可以在运行时检查某些注解。第一次看时...

2018-08-23 11:36:57

Java 之路 (十八) -- 容器深入研究(容器接口,实现类特性及对比)

1.接口首先,放上层次图(少了Queue)。Collection继承了Iterator接口(事实上,该接口是所有集合的总接口),定义了集合的遍历操作。前面我们已经介绍过集合类的基础知识,这里就简单回顾以下:**Collection:**Collection是一个接口,没有直接实现类。它用来传递集合并在需要最大通用性时对其进行操作。List:有序集合(或称为序列)...

2018-08-18 15:36:11

Java 之路 (十七) -- 数组(基本概念与使用、数组与泛型、数组操作、Arrays 类)

学完复杂的泛型,来学点简单的。本文介绍Java数组的相关知识。1.基本概念数组是一个容器对象,它包含固定数量的单个类型的值。 创建数组时,将建立数组的长度。 创建后,其长度是固定的。数组中的每个项成为元素,每个元素由其数组索引访问。举个简单例子:classArrayDemo{publicstaticvoidmain...

2018-08-17 15:11:03

Java 之路 (十六) -- 泛型下(通配符、类型擦除、泛型的限制)

7.通配符通配符,即“?”,用来表示未知类型。通配符可用作各种情况:作为参数,字段或局部变量的类型;有时也作为返回类型;通配符从不用作泛型方法调用、泛型类实例创建或超类型的类型参数。7.1上限有界的通配符使用上限通配符来放宽对变量的限制。声明上限通配符的语法:<?extends上限>举个例子:publicstaticdoublesum...

2018-08-17 00:56:34

Java 之路 (十五) -- 泛型上(泛型类、泛型方法、有界类型参数、泛型与继承、类型推断)

ThinkinginJava中关于泛型的讲解篇幅实在过长,前后尝试阅读这一章,但总是觉得找不到要点,很迷。于是放弃ThinkinginJava泛型一章的阅读,转而官方教程,本章可以算作官方教程的中文版。放上官方教程地址:TheJava™Tutorials-Generics1.为什么使用泛型简单来说,泛型使类型在定义类、接口和方法时成为参...

2018-08-17 00:52:44

Java 之路 (十四) -- 类型信息(RTTI、Class 对象的加载、Class 引用的获取与泛化、instanceof 关键字、反射基础与简单使用示例)

学习内容:传统的RTTIClass对象的加载获取Class对象引用的方式ClassforName类字面常量Class引用的泛化instanceof关键字反射相关类简单使用示例前言运行时类型信息使得我们可以在程序运行时发现和使用类型信息,Java中运行时识别对象和类的信息有如下两种方式:传统的RTTI:假定我们在编译时已经知道所有...

2018-08-15 17:52:23

Java 之路 (十三) -- 字符串(String、正则表达式)

个人吐槽:对于这章,第一遍读和重读之后果然看法不同:第一次读时觉得,文章用了大篇幅来介绍API,这样我可以比较容易理解这个方法是干嘛的,以此理解这个类是干嘛的;但是重读之后觉得,文章居然用了这么大篇幅在讲API(尤其是正则表达式),如果我需要知道具体某个方法怎么用,直接去官方文档查多好啊,这种情况下,我更希望得到某个方法可能出现的坑,而不只是方法的介绍(毕竟,这往往需要踩过坑之后总结的,...

2018-08-14 15:58:32

Java 之路 (十二) -- 异常(基本常识、try-catch-finally、throw、throws、使用指南)

Java的基本理念是“结构不佳的代码不能运行”错误回复在我们编写的每个程序中都是基本的元素Java的主要目标之一是创建供他人使用的程序构件Java的异常处理的目的在于通过使用少于目前数量的代码来简化大型、可靠的程序的生成,并且通过这种方式可以使你更加自信:你的应用中没有未处理的错误1.初识异常正式介绍异常之前,先来看一个例子:publicstaticvo...

2018-08-13 18:43:37

Java 之路 (十一) -- 持有对象(Collection、List、Set、Queue、Map、Iterator、foreach)

本章将简单介绍一下常用的集合类的特点,同时并不会深入源码分析原理,本文目的仅仅在于对Java集合类有一个整体认识关于API,本文不涉及过多,建议直接查看Java官方文档https://docs.oracle.com/javase/9/docs/api/overview-summary.html1.容器概述1.1引入原因Java中,数组用来保存...

2018-08-11 16:45:48

Java 之路 (十) -- 内部类(概念、分类、特性、意义、"多重继承"、继承)

1.内部类基础1.1什么是内部类内部类的定义如下:可以将一个类的定义放在另一个类的定义内部,这就是内部类更具体一点,对于编程思想而言:内部类允许将逻辑相关的类组织在一起,并控制位于内部的类的可视性。内部类就像是一种代码隐藏机制:将类置于其他类的内部,它了解外围类,能与之通信1.2内部类的分类内部类分为以下四类:成员内部类:最最普通的内部类,...

2018-08-11 10:32:52

Java 之路 (九) -- 接口(抽象类方法、接口、多重继承、接口与解耦等)

我们前面学过通过“隐藏实现”可以将接口与实现分离,然而它仅仅作为基础,而本章的接口以及下一章的内部类为我们提供了一种将接口和实现分离的更加结构化的方法。话不多说,进入正题。1.抽象类和抽象方法抽象类是普通的类与接口之间的一种中庸之道。1.1什么是抽象类/方法抽象方法定义:指的是一些只有方法声明,而没有具体方法体的方法。声明语法:通过abstr...

2018-08-09 18:48:32

Java 之路 (八) -- 多态(向上转型、多态、绑定、构造器与多态、再再谈初始化和类的加载、协变返回类型、向下转型)

多态是继数据抽象和继承之后的第三种基本特征。多态也称作动态绑定、后期绑定或运行时绑定。多态的一些具象表现。允许不同类的对象对同一消息做出响应同一个行为具有多个不同表现形式或形态的能力只有在运行时才会知道引用变量所指向的具体实例对象封装:通过合并特征和行为创建新的数据类型。实现隐藏:通过将细节私有化,把接口和实现分离开来多态...

2018-08-09 00:12:01

Java 之路 (七) -- 复用类(组合、继承、代理、向上转型、final、再谈初始化和类的加载、方法覆盖)

学习内容两种代码复用机制-组合&继承以及中庸之道-代理组合和继承如何选择使用如何结合使用向上转型final关键字1.组合1.1组合的概念​在新的类中产生现有类的对象,由于新的类是由现有类的对象所组成,所以这种方法成为组合。1.1.1组合的写法及样例只需要在当前类中声明另一个类的对象作为其成员变量即可,...

2018-08-08 14:39:24

Java 之路 (六) -- 访问权限控制(Package、Public、protected、friendly、private)

这一章内容比较少,也比较基础。不多废话,下面开始这一章的学习吧。学习内容包package访问权限public、protected、默认、private1.Package(1)原因:为了更好的组织类,Java提供了包机制,用来区别类名的命名空间。(2)包的作用:利用操作系统的层次化的文件结构,将特定包的.class文件都置于一个目录下。...

2018-08-07 19:23:09

Java 之路 (五) -- 初始化和清理(构造器与初始化、方法重载、this、垃圾回收器、枚举类型)

学习内容:构造器方法重载this关键字垃圾回收器的清理初始化问题枚举类型这一章内容有一点点多,需要注意的地方也很多。下面就开始我的表演了。1.构造器(1)概念:一个创建对象时被自动调用的特殊方法。(2)作用:通过构造器,创建对象,并确保对象得到初始化。(3)命名:构造器的名称必须与类名相同。(4)特殊:构造...

2018-08-07 15:31:35
奖章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!