java进阶及高级
java进阶及高级内容
乔治的哥们
这个作者很懒,什么都没留下…
展开
-
判断一颗二叉树是否为平衡二叉树
public class Main443_checkBalanceBinaryTree { // 创建结点内部类 public static class Node{ public int value; public Node left; public Node right; public Node(int data) { this.value = data; } ...原创 2020-02-07 10:05:51 · 163 阅读 · 0 评论 -
判断一棵树是否为完全二叉树
import java.util.LinkedList;import java.util.Queue;public class Main446_isCompleteBinaryTree{/* 判断一颗树是否为完全二叉树 * (1): 结点有右孩子无左孩子 return false; * (2): 有左孩子无右孩子、左右孩子都无,后面遍历到的所有的的结点都必须是叶子结点, * ...原创 2020-02-07 10:06:04 · 248 阅读 · 0 评论 -
二叉树的遍历——递归+非递归
public class BinaryTree{ // 创建结点内部类 public static class Node{ public int value; public Node left; public Node right; public Node(int data) { this.value = data; } ...原创 2020-02-06 23:19:57 · 90 阅读 · 0 评论 -
二叉树的序列化和反序列化(先序+按层)
import java.util.LinkedList;import java.util.Queue;public class Main444_BinaryTree_序列化And反序列化 { // 创建结点内部类 public static class Node{ public int value; public Node left; public Node right; ...原创 2020-02-06 23:20:35 · 148 阅读 · 0 评论 -
打印二叉树形状(物理树形)
class BiTree{ protected int v; protected BiTree l; protected BiTree r; public BiTree(int v) { this.v = v; } public void add(BiTree the) { if(the.v<v) { if(l==null) { l=the; }el...原创 2020-02-12 16:52:00 · 1173 阅读 · 0 评论 -
统计一颗二叉树的结点数目
public class Main447_countBinaryNode { // 创建结点内部类 public static class Node{ public int value; public Node left; public Node right; public Node(int data) { this.value = data; } } //...原创 2020-02-07 10:06:21 · 443 阅读 · 0 评论 -
向二叉树搜索树中添加元素,并按从小到大输出
public class Main454 { public static class BiTree{ public int value; public BiTree left; public BiTree right; public BiTree(int data) { this.value = data; } public void add(BiTree the...原创 2020-02-12 16:19:37 · 366 阅读 · 0 评论 -
判断一颗二叉树是否为二叉搜索树
import java.util.Stack;public class Main445_isSearchBinaryTree { // 搜索二叉树: 中序遍历结果依次上升 // 创建结点内部类 public static class Node{ public int value; public Node left; public Node right; public No...原创 2020-02-07 10:06:03 · 221 阅读 · 0 评论 -
Java8新特性-Stream流
01 、概述Stream 是JDK1.8的新特性,可以结合lambada表达式结合使用 可以提升开发的效率和性能。02、 Stream流的作用对于集合迭代的增强处理可以对于集合数组进行更高效的聚合操作,比如: 分组、过滤、排序,元素的追加等。解决了的传统开发过程中,jdk对集合或者数组API不足的问题,因为在早期的API的开发过程中,对集合或者Map的操作其实比较单一和缺乏。在jdk1.8之后就参考了很多语言的一些对数组和集合操作的API。 比如JS的数组的reduce、map、sort、f原创 2021-10-14 16:26:32 · 349 阅读 · 0 评论 -
多线程03-静态代理
所谓的静态代理,就是在程序启动之前代理类的 .class 文件就已经存在。而代理类可能是程序员直接创建的 .java 文件,或者是借助某些工具生成的 .java 文件,但无一例外都必须再由编译器编译成 .class 文件之后再启动程序。package com.ren.p03_proxystatic;/** * @author Ren *//** * 静态代理模式总结 * 真实对象和代理对象都要实现同一个接口 * 代理对象要代理真实角色 * 好处: * .原创 2021-01-14 23:50:19 · 111 阅读 · 0 评论 -
多线程02-Lambda表达式(为了方便实现runnable接口)
1. Lamda表达式Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包(注意和数学传统意义上的不同)。Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁。当开发者在编写Lambda表达式时,也会随之被编译成一个函数式接口。下面这个例子就是使用Lambda语法来代替匿原创 2021-01-14 22:58:13 · 730 阅读 · 0 评论 -
多线程01-概念和三种实现方式
1. 线程、进程、多线程线程就是独立的执行路径在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,GC线程;main()称为主线程,为系统的入口,用于执行整个应用程序;在一个进程中如果开辟了多个线程,线程的运行由调度器(CPU)安排调度,调度器是与操作系统紧密相关的,先后顺序是不能认为干预的。对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制;线程会带来额外的开销,如cpu调度时间,并发控制开销每个线程在自己的工作内存交互,内存控制不当会造成数据不一致2. 线程的创原创 2021-01-14 22:24:59 · 107 阅读 · 0 评论 -
java -- 集合 - 10(综合案例:斗地主2 )牌可排序
点击查看:java集合(List、Set、Map)博客目录第十节 : 集合综合案例–斗地主2(牌有序)思路分析:代码实现:// 斗地主综合案例:有序版本 1.准备牌 2.洗牌 3.发牌 4.排序 5.看牌import java.util.*;public class DouDiZhu2{ public static void main(String args []){...原创 2020-01-30 21:11:12 · 727 阅读 · 2 评论 -
java--集合 - jdk1.9 对于集合添加的新特性
点击查看:java集合(List、Set、Map)博客目录java–集合 - jdk1.9 对于集合添加的新特性JDK 9 的新特性:list接口,Set接口 ,Map接口 里面 增加了一个静态方法 of,可以给集合一次性添加多个元素。static <E> list<E> of ( E ... element )使用前提:-当集合中存储的元素的个数已经确定,不...原创 2020-01-30 19:16:42 · 390 阅读 · 0 评论 -
java -- 集合 - 9 (Map集合练习-计算一个字符串中每个字符出现的次数)
点击查看:java集合(List、Set、Map)博客目录java – 集合 - 9 (Map集合)- 练习需求:计算一个字符串中每个字符出现的次数。分析:获取一个字符串对象创建一个Map集合,键代表字符,值代表次数。遍历字符串得到每个字符判断Map中是否有该键如果没有,第一次出现,存储次数为1;如果有,值++,再次存储。打印最终结果。在这里插入代码片...原创 2020-01-30 17:58:40 · 373 阅读 · 0 评论 -
java -- 集合 - 9 (Map集合)-1
9.1 、 概述9.2 、 Map常用子类将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。java.util.Map< k , v >集合Map集合的特点:Map集合是一个双列集合,一个元素包含两个值(1个key,一个value)Map集合中的元素,key和value的数据类型可以相同,也可以不同Map集合中的元素,key是...原创 2020-01-30 17:32:56 · 318 阅读 · 0 评论 -
java -- 集合 -8 (Collections)
8.1 、Collections 常用功能数组有Arrays,集合有Collections…java.utils.Collections 是集合工具类,用来对集合进行操作。部分方法如下:public static boolean addAll(Collection c , T … element):往集合中添加一些元素。public static void shuffle(List&...原创 2020-01-28 16:08:36 · 307 阅读 · 0 评论 -
java -- 集合 - 7( Set接口 )
第七节 : Set接口java.util.Set接口和java.util.List接口一样。同样继承自Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行扩充,只是比Collection接口更加严格了。与List接口不同的是:Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。Set集合有多个子类,这里我们介绍 java....原创 2020-01-27 21:31:48 · 369 阅读 · 0 评论 -
java -- 集合 - 6( List列表 )
第六节 : List集合6.1 、 List集合 介绍及常用方法特点:有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和e2,并且如果列表本身...原创 2020-01-27 15:08:38 · 236 阅读 · 0 评论 -
java -- 集合 - 5( 数据结构 )
第五节 : 集合-数据结构5.1 、栈和队列5.2 、 数组5.3 、链表5.4 、红黑树原创 2020-01-27 14:31:47 · 130 阅读 · 0 评论 -
java -- 集合 - 4(综合案例:斗地主 )
第四章 : 集合综合案例–斗地主4.1 、斗地主案例的需求分析案例介绍:按照斗地主的规则,完成洗牌发牌的动作具体规则:使用54张牌打乱顺序,三个玩家参与游戏,三人交题摸牌,没人17张牌,最后三张留作底牌。4.2 、准备牌:牌可以设计为一个ArrayList,每个字符串为一张牌。每张牌由花色 数字两部分组成,我们可以使用花色集合和数字集合嵌套迭代完成每张牌的组装牌由Col...原创 2020-01-27 14:22:55 · 3603 阅读 · 2 评论 -
java -- 集合 - 3( 泛型 )
第三章 : 泛型3.1 、泛型概述在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这是他们会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这是必须采用类型转换。import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;pub...原创 2020-01-26 16:38:21 · 240 阅读 · 0 评论 -
java -- 集合 - 2(Iterator迭代器)
第二章 : Iterator迭代器2.1 、 Iterator接口在程序开发中,经常需要遍历集合中的所有的元素。针对这种需求,JDK专门提供了一个接口 java.util.Iterator 。 Iterator 接口也是 java集合中的一员,但它与Collection 、 Map 接口有所不同,Collection 接口和 Map 接口主要用于存储元素,而 Iterator 主要用于迭代访...原创 2020-01-25 23:46:42 · 232 阅读 · 1 评论 -
java -- 集合 - 1(Collection集合)
第一章 : Collection集合1.1 、 集合概述集合: 集合是java中提供的一种容器,用来存储多个数据集合和数组都是容器,它们的区别:数组的长度是固定的,集合的长度是可变的。int [] arr = new int[6];ArrayList …数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象,而且对象的类型可以不一致。在开发中一般当对象多的时候...原创 2020-01-25 21:52:08 · 216 阅读 · 0 评论 -
java集合(List、Set、Map)博客目录
java集合(List、Set、Map)目录java – 集合 - 1(Collection集合)java – 集合 - 2(Iterator迭代器)java – 集合 - 3( 泛型 )java – 集合 - 4(综合案例:斗地主 )java – 集合 - 5( 数据结构 )java – 集合 - 6( List列表 )java – 集合 - 7( S...原创 2020-01-29 01:55:31 · 476 阅读 · 0 评论