- 博客(18)
- 收藏
- 关注
原创 【Java】--实现Runnable接口
多线程的实现方式主要有两种:1.继承Thread类: 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中2.实现Runnable接口:通过实现Runnable接口,实例化Thread类。这两种方法有一定的差异。Runnable接口中只有一个run()方法,它非Thread类子类的类提供的一种激活方式。一个类实现Runnable接口后,并不代表该类是一个“线程...
2019-06-23 20:16:34
707
原创 【Java】--Thread类
Thread类实现了Runnable接口,在Thread类中,有一些比较关键的属性,比如name是表示Thread的字,可以通过Thread类的构造器中的参数来指定线程名字,priority表示线程的优先级(最大值为10,最小值为1,默认值为5),daemon表示线程是否是守护线程,target表示要执行的任务。以下是一些常用的方法:1) start方法 start()用来启动一个线程,当调...
2019-06-23 19:48:05
194
原创 【Java】--线程
概念:进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。系统资源分配和调度的独立单位,相互之间不能共享资源,由操作系统线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。依靠程序执行的顺序控制流,只能使用程序的资源和环境,共享进程的全部资源...
2019-06-23 19:21:36
157
原创 【Java】----泛型
Apple和Orange都放在了容器里,将它们取出后都发生了运行时异常,因为这个示例没有使用泛型。Apple和Orange类是不一样的,它们除了都是Object之外没有其他的共性。(如果一个类没有显示地声明继承哪个类,那么它自动继承Object)。因为ArrayList保存的是Object,因此可以通过ArrayList的add()方法将Apple对象放进容器中,Orange对象也可以添加。但当...
2019-06-21 00:23:22
133
原创 【Java】--流的概念
流机制是java中一个重要的机制,通过流能自由的控制文件,内存,IO,等等中的数据的流向。流是一串不连续的数据的集合, Java将数据从源(文件、内存、键盘、网络)读入到内存中,形成了流,然后将这些流还可以写到另外的目的地(文件、内存、控制台、网络),之所以称为流,是因为这个数据序列在不同时刻所操作的是源的不同部分。流的分类1、按照输入的方向分,输入流和输出流,输入输出的参照对象是Java程...
2019-06-18 23:02:41
286
原创 【java】----输出不重复且降序
**题目:**List中存放若干学生对象(学生有学号,姓名,性别等属性),去除List中重复的元素,并按学号降序输出。(请百度并利用LinkedHashSet集合,既不会重复,同时有可预测的顺序即输入顺序)import java.util.Objects;public class Student implements Comparable<Student> { publ...
2019-06-10 21:09:41
754
1
原创 【java】----获取随机的10个不重复的数,降序输出
**题目:**生成10个1到20之间的不重复的随机数并降序输出import java.util.*;public class 随机获取10个不重复的数 { public static void main(String[] args) { Random r = new Random(); ArrayList<Integer> h = ne...
2019-06-10 19:40:57
1351
原创 【java】----Map和Set集合,LinkedHashSet和LinkedHashMap集合无序和有序的区别
Map、Set集合存放是无序的,然而LinkedHashSet和LinkedHashMap等集合却有序,请解释这是什么原因?**有序和无序:**这里的有序和无序不是指集合中的排序,而是是否按照元素添加的顺序来存储对象。Map:Map是无序的,它的存储结构是哈希表<key,value>键值对,map中插入元素是根据key计算出的哈希值来存储元素的,因此他不是按照元素的添加顺序来存储...
2019-06-10 17:50:18
382
原创 【java】剑指offer----输出两个合成后的递增链表
1.输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }...
2019-06-08 21:21:34
179
原创 【Java】----剑指Offer链表
题目:输入一个链表,输出该链表中倒数第k个结点 public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }public class Solutio...
2019-06-06 14:34:00
108
原创 【Java】剑指Offer----从尾到头打印链表
题目:输入一个链表,按链表值从尾头的顺序返回一个ArrayListpublic class ListNode { /* 创建一个链表类,有两个属性,一个是存放值,一个是指向下一个值的地址,利用构造方法可以创造一个链表, 一个链表只要给出第一个值,就能按顺序查找下一个 */ int val; ListNode next = null; ...
2019-06-06 11:42:55
103
原创 【java】动态规划----查找最长公共子列
**例题:**给定两个序列,例如 X = “ABCBDAB”、Y = “BDCABA”,求它们的最长公共子序列的长度。子序列:在给定的这两个母序列中,比如序列BCAB在母串ABCBDAB与BDCABA中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(Longest Common Subsequence,LCS),顾名思义,是指在所有的子序列中最长的那一个。在上述例子的...
2019-05-20 19:22:53
374
原创 【Java】对接口的基本认识
接口(interface) 在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。(1)接口并不是类,类描述对象的属性和方法。接口则包含类要实现的方法。(2)除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。(3)接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,...
2019-05-14 19:18:20
184
原创 【Java】插入排序
public class 插入排序 { public static void insertionSort(int[] a) { int tmp; for (int i = 1; i < a.length; i++) { fo...
2019-05-14 18:48:42
93
原创 【Java】多态性
概念:多态就是指一个引用,在不同的情况下的多种状态,也可理解为多态是通过指向父类的指针,来调用在不同子类中实现的方法。(父类的引用能保存子类的地址)父类调用子类,父类能调用子类继承的属性和方法和子类重写方法,子类添加方法不能调父类不能调用子类添加方法Subject下面是一个简单的例子能帮助我们理解Java的多态性Person类有个eat方法,可能今天想吃鸡,明天想吃鸭,eat方法可能会因客...
2019-05-13 01:52:35
106
原创 【Java】类的封性
封装:面向对象的封装就是把每个对象的数据(属性)和操作(行为)包装在一个类里。一旦定义了对象的属性和行为,就必须决定哪些属性和行为用于表示内部状态,哪些属性和行为在外部是可见的。封装是将类的某些信息隐藏在类的内部,不允许外部直接访问,只能通过内部指定的方法访问。有选择性地公开或隐藏某些信息,解决了数据的安全隐患问题。Java如何实现封装:public class Person {priv...
2019-05-10 00:37:54
160
原创 Java继承
什么是继承?1.继承(inheritance)就是is–a关系,作为面向对象的基本特征之一,可以使得子类具有父类的属性和方法或者重新定义,追加属性和方法2.类的继承性表现为子类继承父类相关的数据成员和成员方法。在Java中,子类继承父类要使用extends关键字,如:class Cat extends Animal(){ //类内结构代码}以上代码表明Cat 类继承了Animal类。...
2019-05-09 23:42:44
124
原创 初识动态规划
动态规划(Dynamic Programmaing ,简称DP)通过把原问题分解为相对简单的子问题的方式求解复杂的方法。动态规划尝尝适用于有重叠问题和最优子结构性质的问题。将原问题拆成若干个子问题,同时保存子问题的答案,使得每个子问题只求解一次,这样把一个复杂问题分阶段进行简单化,逐步化简成简单问题。大大节省了时间和空间。动态规划算法的两种形式动态规划的核心是记住已经求过的解,记住求解的方...
2019-05-09 15:44:55
201
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人