
java扩展
Double..
这个作者很懒,什么都没留下…
展开
-
Java扩展之part23 Stream流
Stream流目的:用于简化集合和数组操作的API例子:将姓名中姓张的,并且为3个子的人的名字输出names.stream().filter(s->s.startswith("张")).filter(s->s.length()==3).forEach(s->system.out.println(s));stream流的作用是什么,结合了什么技术?简化集合,数组操作的API,结合了Lambda表达式stream流的思想和使用步骤?先得到集合或者数组的stream流原创 2022-03-13 21:42:00 · 1064 阅读 · 0 评论 -
Java扩展之part22 Map系列集合
MapMap集合是一种双列集合,每个键值对包含两个元素,所以又称为键值对集合特点:由键决定的无序,不重复,无索引的,值不做要求后面重复的键对应的值会覆盖前面重复键的值键值对都可以为nullMap集合实现类特点:HashMap:无序,不重复,无索引,值不做要求LinkedHashMap:元素按照键是,有序,不重复,无索引,值不做要求TreeMap:排序,不重复,无索引Map集合ApIAPI功能Map<String,Integer> maps=n原创 2022-03-10 22:04:31 · 418 阅读 · 0 评论 -
Java扩展之part21 Set系列集合
Set系列集合特点:无序不重复,无索引set系列实现类的特点:HashSet:无序,不重复,无索引LinkedHashSet:有序,不重复,无索引TreeSet:排序(按大小排序),不重复,无索引哈希值:JDK根据对象的地址,按照某种规则算出来的int类型的数值Object类的API:public int hashCode();//返回对象的哈希值对象哈希值的特点:同一个对象多次调用hashCode()方法返回的哈希值是相同的默认情况下,不同对象的哈希值是不同的原创 2022-02-27 11:00:20 · 554 阅读 · 0 评论 -
Java扩展之part20 List集合
List系列集合List系列:添加的元素是有序,可重复,有索引ArrayList、LinkedList:有序,可重复,有索引List系列集合的底层数据结构ArrayList有序,可重复,有索引底层是基于数组实现的,查询元素快,增删相对慢LinkedList有序,可重复,有索引底层是基于双链表实现的,查询元素慢,增删首位快ArrayList集合APIArrayList、LinkedList:有序,有重复,有索引创建一个ArrayLIst集合对象List <St原创 2022-02-27 10:58:04 · 643 阅读 · 0 评论 -
Java扩展之part19 数据结构扩展
数据结构扩展栈、队列、数组、链表、二叉树、平衡二叉树、红黑树队列:先进先出,后进后出栈:后进先出,先进后出数组:内存连续区域,查询快,增删慢链表:元素是游离的,查询慢,首尾操作快二叉树:永远只有一个根节点,每个节点不超过两个子节点的树查找二叉树:小的左边,大的右边,可能树很高,性能变差平衡查找二叉树:任意节点的左右两个子树的高度差不超过1,让树的高度差不大于1,增删改查提高红黑树:基于红黑规则实现了自平衡的排序二叉树红黑树:每一个节点可以是红或黑,不是通过高度平衡的红黑规则:原创 2022-02-17 20:52:25 · 287 阅读 · 0 评论 -
Java扩展之part18 Collection集合
Collection集合API单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的Collection list = new ArrayList<>();//创建对象API功能list.add("")添加list.clear()清空list.isEmpty()判断是否为空,为空返回truelist.size()集合大小list.contains("")判断集合中是否包含某个元素list.remove("")删除某个元素,原创 2022-02-17 20:51:15 · 293 阅读 · 0 评论 -
Java扩展之part17 集合
集合:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D9H3CV11-1645102146928)(E:\桌面\文档\博客\Java基础.assets\Collection接口.png)]集合(个数不确定)和数组(个数确定)都是容器,不支持基本数据类型集合支持的泛型:Collection单列(每个元素只包含一个值)Map 双列(每个元素包含两个值(键值对))Collection接口 list: ArrayList(底层是基于数组的结构)原创 2022-02-17 20:49:47 · 429 阅读 · 0 评论 -
Java扩展之part16 Lambda表达式
Lambda表达式作用:简化匿名内部类lambda表达式只能简化函数式接口的匿名内部类的写法形式基本形式: (形参列表)->{}@FunctionalInterface()//一旦加上就代表这是一个函数式接口,里面只能有一个抽象方法lambda使用前提?必须是接口的匿名内部类,接口中只能有一个抽象方法省略写法:参数类型可以省略不写如果只有一个参数,参数类型可以省略,同时()也可以省略如果lambda表达式的方法体代码只有一行代码,可以省略大括号不写,同时要省略分号原创 2022-02-17 20:48:39 · 170 阅读 · 0 评论 -
Java扩展之part15 Arrays类常用API
Arrays类常用API将数组转换成String类型输出,使用此方法可以很方便地输出数组,而不用一个一个地输出数组元素。Arrays.toString(a);排序的API默认自动对数组元素进行升序排序Arrays.sort(arr);二分搜索技术(前提数组必须排好序才支持,否则出bug)如果查找的元素不存在则返回不存在元素的规则:-(应该插入的位置索引+1)int index=Arrays.binarySearch(arr,55);自定义数组的排序规则Comp原创 2022-02-17 20:47:04 · 201 阅读 · 0 评论 -
Java扩展之part14 正则表达式
正则表达式字符类(默认匹配一个字符)正则表达式含义[a,b,c]只能式a,b或c[^abc]除了a,b,c之外的任何字符[a-zA-Z]a到z A到Z 包括(范围A-Z)[a-d[m-p]]a到d或m通过p [(a-d m-p)][a-z&&[def]]d,e,f(交集)[a-z&&[^bc]]a到z,除了b和c([ad-z]减法)[a-z&&[^m-p]]a到z,除了m到p原创 2022-02-17 20:46:20 · 156 阅读 · 0 评论 -
Java扩展之part13 包装类
包装类基本数据类型引用数据类型byteByteshortShortintIntegerlongLongcharCharacterfloatFloatdoubleDoublebooleanBoolean将基本类型转换成字符串类型.toString将字符串类型转换成真实数据类型Interger.parseInt("")Double.parseDouble("")Interger.valueof("")原创 2022-02-17 20:45:13 · 135 阅读 · 0 评论 -
Java扩展之part12 有关时间的API(Date类、Calender 日历)
时间APIDate类创建一个Date类的对象Date d=new Dtae();获取时间对象d.getTime();System.currentTimeMillis(); //时间毫秒值SimpleDateFormat(); //格式化这个日期对象SimpleDateFormat sdf=new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss EEE a”);//开始格式化日期对象成为喜欢的字符串形式String rs=sdf.format(d);r原创 2022-02-09 20:35:45 · 243 阅读 · 0 评论 -
Java扩展之part11 Math类、System类、BigDecimal类
Math类类名特征abs取绝对值ceil向上取整floor向下取整pow(2,3)2^3round四舍五入random0.0-1.0(包前不包后)自定义随机数的范围减差法: 3-9之间的随机数 (0-6)+3 计算步骤:(0~1)*7+3;System类System.exit(0);//JVM终止!1970-1-1 C语言的生日,所以从此刻开始计算的时间毫秒值计算时间long time=system.curr原创 2022-02-09 20:33:09 · 395 阅读 · 0 评论 -
Java扩展之part10 StringBuilder 拼接字符串
StringBuilder 拼接字符串Object的toString方法的作用是什么?默认打印当前对象的地址让子类重写以便返回子类对象的内容快速重写toString快捷键:tos回车回车String重写了equals,若用equals判断其他类型的对象均是比较地址因此引入了Object类比较字符串中的值Object.equals(s1,s2);Object.isNull(s1);StringBuilder 是一个可变的字符串类,可以看成一个对象的容器作用:提高字符串的操作原创 2022-02-09 20:23:04 · 509 阅读 · 0 评论 -
Java扩展之part09 内部类
内部类内部类的基本形式:public class People{ //内部类 public class Heart{}}静态内部类public class People{ //静态内部类 public static class Heart{}}静态内部类是否可以直接访问外部类的静态成员? 可以,外部类的静态成员只有一次可以被共享访问静态内部类中是否可以直接访问外部类的实例成员? 不可以,外部类的实例成员必须用外部类对象访问JDK1原创 2022-02-09 20:14:21 · 99 阅读 · 0 评论 -
Java扩展之part08 多态
多态什么是多态?同类型的对象,执行同一个行为,会表现出不同的行为特征多态的常见形式?父类类型 对象名称 = new 子类构造器接口 对象名称 = new 实现类构造器Animal a = new Dog();a.run();//方法:编译看左边,运行看右边a.name; //变量:编译看左边,运行也看左边多态中成员方法和变量访问的特点:方法调用:编译看左边,运行看右边变量调用:编译看左边,运行也看左边多态的前提:有继承/实现关系有父原创 2022-02-09 19:54:35 · 204 阅读 · 0 评论 -
Java扩展之part07 接口interface
接口接口是用来体现规范的基本形式:public interface 接口名{ }在JDK8之前,接口只能是抽象方法和常量,没有其他成分了接口不能实例化(不能new出来)接口中的成员都是用public修饰,不写的话也是使用public修饰实现类:接口是用来被类实现(implements)的,实现接口的类称为实现类接口可以被类单继承,也可以被类多实现。(单继承,多实现)一个类实现接口,必须重写完全部接口的全部抽象方法,否则这个类需要定义成抽象类类和类的关系单继承原创 2022-02-09 19:47:29 · 292 阅读 · 0 评论 -
Java扩展之part06 抽象类abstract
抽象类抽象类可以看做是一种不完全的设计图,抽象类必须使用abstract修饰,抽象方法必须放在抽象类中public abstract class Animal{ public abstract void run(); //子类继承时必须y}特性:抽象类用来被继承的,抽象方法是交给子类重写实现的。一个类如果继承了抽象类,那么这个类必须重写抽象类的全部抽象方法,否则这个类也必须定义成抽象类。有得有失:抽象类得到了抽象方法,失去了创建对象的能力。一定要有构造器,因为子类要调用父原创 2022-01-18 10:36:44 · 186 阅读 · 0 评论 -
Java扩展之part05 finnal、常量、枚举
final关键字final类不能被继承(String)final修饰方法,方法不能被重写final修饰变量,变量有且仅能被赋值一次变量:局部变量成员变量静态成员变量 static修饰实例成员变量 属于对象例子:buy(0.8)public static void buy(final double){//有了static修饰就不可以改变值}final修饰引用数据类型的变量,变量中存储的地址不能改变,但是地址指向的对象内容可以改变final int[] arr={1原创 2022-01-18 10:33:14 · 176 阅读 · 0 评论 -
Java扩展之part04 继承extends
继承extends特点:子类可以继承父类的属性和行为,但是子类不能继承父类的构造器Java是单继承模式:一个类只能继承一个直接父类Java不支持多继承,但是支持多层继承(在有二义性时,采用就近原则)Java中所有的类都是Object的子类有争议的几个问题:子类是否可以继承父类的私有成员?(这个问题有争议)我认为可以的,只是不能直接访问子类是否可以继承父类的静态方法成员?子类可以直接使用父类的成员关于调用this.调用本类super.调用父类重写:@Ov原创 2022-01-18 10:28:53 · 2129 阅读 · 0 评论 -
Java扩展之part03 设计模式-单例模式
设计模式单例模式概念:只有一个实例,即一个类只有一个对象,有些东西只需要有一个对象,比如电脑上的任务管理器,只可以打开一个窗口,就应用了单例模式的思想饿汉式单例设计模式:在用类获取对象的时候,对象就已经提前为你创建好了设计步骤:定义一个类,把构造器私有定义一个静态变量存储一个对象public class SingleInstance{ public static SingleInstance instance = new SingleInstance(); priv原创 2022-01-18 09:42:48 · 310 阅读 · 0 评论 -
Java扩展之part02 静态成员变量与方法-static
面向对象一个类中只能有一个公共的类 Public面向对象的三大特征:封装、继承、多态(封装:就是用private修饰,使用set,get方法)、静态成员static静态成员变量 static 统计在线人数(加载类时就会被加载)Public static int onlineNumber;实例成员变量 没有staticPrivate String name;调用方式类名.静态成员变量(有static修饰)对象.静态成员变量(不推荐)静态成员方法与实例成员方法的比较:原创 2022-01-18 09:31:48 · 282 阅读 · 0 评论 -
Java扩展之part01 常用API(String和ArrayList)
1.常用API(String和ArrayList)String创建字符串对象的方式通过“ ”创建对象‘String s=“love”;通过构造器创建对象new string用字符数组来创建字符串对象char[] chars={‘a’,‘b’,‘中’,‘国’};String s1=new String(chars);字节数组来创建字符串对象btye[ ] bytes={97,98,99,65,66}String s2=new String(bytes);通原创 2022-01-17 10:22:08 · 195 阅读 · 0 评论