第九天Java基础(常用的函数接口)

R语言生存分析 自己整理编写的R语言常用数据分析模型的模板,原文件为Rmd格式,直接复制粘贴过来,作为个人学习笔记保存和分享。部分参考薛毅的《统计建模与R软件》和《R语言实战》生存分析是研究生存时间的分布规律,以及生存时间和相关因素之间关系的一种统计分析方法。生存分析在医学科学研究中具有广泛而重要的应用价值,它对人群寿命的研究,各种慢性疾病的现场追踪研究,临床疗效试验和动物试验等研究中随访资料的处理骑着举足轻重的作 阅读详情

1.常用的函数接口

1.1 自定义函数接口的方式

1.只有一个抽象方法的接口。
函数式接口,在使用Lambda表达式实现时,一般延迟加载重写的内容。当实现内部的代码被使用时,代码才会执行。

1.2 常用的函数接口

1.supplier接口,生产数据
重写get(),返回泛型类型的数据

//1.定义一个方法生产数据
public static int getMax(Supplier<Integer> map){
        return map.get();
    }
    public static void main(String[] args) {
        int []ints = {100,2,-5,55,-100};
        int max = getMax(new Supplier<Integer>() {
            @Override
            public Integer get() {
            //2.如何生产自定义
                int max = ints[0];
                for (int i : ints) {
                    if(i>max){
                        max = i;
                    }
                }
                return max;
            }
        });
        System.out.println(max);
    }

2.Consumer接口,消费数据
重写accept(String str)方法

//1.定义一个方法,消费数据,不返回数据
    public static void getString (String name , Consumer<String> cs){
        cs.accept(name);
    }

    public static void main(String[] args) {
        getString("赵丽颖",(name)->{
            //2.自定义消费方式
            String str = new StringBuffer(name).reverse().toString();
            System.out.println(str);
        });
    }

andThan()方法的使用

 //1.对于数据str来说,可能需要两种消费方式,所以传递两个Consumer
    public static void outStirng(String str , Consumer<String> con1,Consumer<String> con2){
        //2.Consumer执行方式一
        con1.accept(str);
        con2.accept(str);
        //3.也可以用andThen进行连接
        con1.andThen(con2).accept(str);
    }
    public static void main(String[] args) {
        outStirng("AbCd",(t)->{
            System.out.println(t.toUpperCase());
        },(t)->{
            System.out.println(t.toLowerCase());
        });
    }

小练习

 public static void outArray(String[] str, Consumer<String> con1, Consumer<String> con2){
        for (String s : str) {
            con1.andThen(con2).accept(s);
        }
    }
    public static void main(String[] args) {
        String[] str = {"迪丽热巴,女","古力娜扎,女","马儿扎哈,男","卡发卡,男"};
        outArray(str,(t)->{
            String[] strs = t.split(",");
            System.out.print("姓名:"+strs[0]+",");
        },(t)->{
            String[] strs = t.split(",");
            System.out.println("性别:"+strs[1]+"。");
        });
    }

3.Predicate接口,判断数据,你给我一个数据,我判断,返回boolean
重写test()方法,返回boolean
使用方式和前面一样

public static boolean checkString (String str, Predicate<String> pred){
        return pred.test(str);
    }
    public static void main(String[] args) {
        boolean b = checkString("ABCDEF",(t)->{
            return t.length()==5;
        });
        System.out.println(b);
    }

方法:与或非

  1. and();//可以连接多个判断条件
    具体的写法
    return pre1.and(per2).test(str);
    与
    return pre1.test(str) && pre2.test(str);等价
    2.or();
    return pre1.or(per2).test(str);
    与
    return pre1.test(str) || pre2.test(str);等价
    3.negate();
    return pre1.negate().test(str);
    与
    return !pre1.test(str);等价
    小练习:把符合两个条件的数组放入集合中
public static ArrayList<String> criterionArrayString(String[]str , Predicate<String> pre1,Predicate<String> pre2){
        ArrayList<String> arr = new ArrayList<>();
       for (String s : str) {
           boolean b = pre1.and(pre2).test(s);
           if (b){
               arr.add(s);
           }
       }
        return arr;
   }
    public static void main(String[] args) {
        String[] str = {"迪丽热巴,女","古力娜扎,女","马儿扎哈,男","卡发卡,男"};
        ArrayList<String> arr = criterionArrayString(str, (t) -> {
            String[] split = t.split(",");
            if ("女".equals(split[1])) {
                return true;
            }
            return false;
        }, (t) -> {
            String[] split = t.split(",");
            if (split[0].length() == 4) {
                return true;
            }
            return false;
        });
        System.out.println(arr);
    }

4.Function<T,R>接口,类型转化接口
方法apply(T t);返回R类型的数据
默认方法
andThan(),与前面的一样

告别偏移地址!用C# S7PLUS驱动读写西门子S7-1500符号地址(TIA Portal V17+环境配置) 本文详细介绍了如何在TIA Portal V17+环境中使用C# S7PLUS驱动读写西门子S7-1500 PLC的符号地址,告别传统的偏移地址方式。通过配置OpenSSL、集成S7PLUS驱动库,以及实战案例展示符号地址的读写方法,显著提升代码可读性和维护效率。文章还涵盖了环境准备、高级配置及常见问题解决方案,助力工业自动化开发者实现更高效的PLC通讯。 阅读详情

相关推荐

【论文笔记】Reaching agreement in the presence of faults (EIG)

1 问题定义 2 交互一致性 3 单点故障 m=1 n=4 4 多点故障(n&amp;gt;=3m+1) 计算过程 m=2 n=7 5 n&amp;lt;3m+1不能达成协定 6 带认证的算法 7 总结 这篇论文在1980年发表,是1982年著名的拜占庭将军问题论文的前身。作者Leslie Lamport是2013图灵奖得主,两篇论文引用次数分别为5000+和2000+。该论文提出的算法现在被...

zjwreal 2995

JAVA学习打卡第九天——集合框架

boolean addAll(int index, Collection c):将一个集合中的元素添加到此集合中的index位置。boolean addAll(Collection c):将一个集合中的所有对象添加到此集合中。Collection接口:该体系结构的根接口,代表一组对象,称为”集合“Object get(int index):返回集合中指定位置的元素。参数化类型、类型安全的集合,强制集合元素的类型必须一致。特点:存储一对数据,无序,无下标,键不可重复,值可重复。

xianyun1211的博客 993

《基于Yolo算法的火灾检测系统设计与实现》开题报告

在消防安全领域,火灾对生命财产安全构成严重威胁。传统的火灾检测手段存在诸多不足,如误报率高、检测范围有限、响应速度慢等。基于 Yolo 算法的火灾检测系统能够利用深度学习技术,实现对火灾的高效、精准检测,具有重要的现实意义。         从社会安全角度看,该系统可以广泛应用于各类公共场所、工业厂房和居民住宅,实时监测火灾隐患,及时发出警报,为人员疏散和消防救援争取宝贵时间,有效降低火灾造成的人员伤亡和财产损失,保障社会公共安全。

m0_69704149的博客 1384

java第九天,接口是什么?如何实现接口

接口 很多人纳闷Java为什么会有接口这个知识点呢?其实很大程度上是为了间接实现多继承。但是因为C++的多继承实在是一个难点,Java为了吸取C++的教训,就推出了接口这个概念。接口是一种公共规范标准。 接口中可以包含哪些数据类型呢? 常量。 抽象方法。 默认方法。(jdk 1.8新增) 静态方法。(jdk1.8新增) 私有方法。(jdk 9新增) 接口注意事项 接口是一种引用数据...

愿你饱经冷暖,仍保纯真 234

从零到英雄:Spring Boot 微服务架构全攻略

在数字化转型的时代,微服务架构已成为构建可扩展、高可用系统的首选方案。本文以“从零到英雄”为主题,详细指导读者使用Spring Boot快速构建微服务帝国。从基础环境搭建入手,逐步深入到服务发现、配置管理、负载均衡、断路器、API网关、安全认证、监控与部署等核心模块。通过大量代码示例和详细解释,包括中文注释,帮助初学者和中级开发者掌握Spring Boot的核心概念和技术实践。文章强调实际操作,涵盖RESTful API开发、数据库集成、容器化部署等内容,并讨论常见问题与优化策略。无论你是Java开发者还是

一个被知识诅咒的人 2701

EWF写保护功能详解:从安装到实战操作指南

本文详细介绍了EWF写保护功能的安装与实战操作指南。EWF(Enhanced Write Filter)通过重定向写入操作保护硬盘分区,特别适合需要长期稳定运行的系统场景。文章涵盖从安装准备、图形界面操作到命令行高级管理的全流程,并提供了常见问题的解决方案,帮助用户轻松掌握这一实用工具。

weixin_28710999的博客 448

我的Java基础学习第九天

CoreJava_day09 提示:上一章 CoreJava_day08 文章目录CoreJava_day09一、集合1.1 简介1.2 Collection接口1.3 迭代器二、数据结构1.栈2.队列3.数组4.链表5. 红黑树6. 哈希表三、List集合3.1 List实现类3.1.1 List接口实现类:ArrayList3.1.2 List接口实现类:LinkedList3.1.3 List接口实现类:Vector四、Set集合4.1 Set实现类4.1.1 Set接口实现类:HashSet4.1

Dust的博客 744

PSINS工具箱15状态组合导航仿真程序(test_SINS_GPS_153)浅析-卡尔曼滤波设置+导航解算

文章目录test_SINS_GPS_153源码poserrsetkfinitgabiaskfupdate流程 test_SINS_GPS_153源码 poserrset function poserr = poserrset(dpos0, dlon, dhgt) % position errors dpos=[dlat;dlon;dhgt] setting. % % Prototype: poserr = poserrset(dpos0) % Input: dpos0=[dlat; dlon; dhgt],

十八与她的博客 2161

【零基础学Java】第九天 IDEA的免费使用和常用设置及快捷键

🔥本文主要讲述了,Java开发工具IDEA的学生申请免费使用的步骤,以及IDEA的一些基本设置和快捷键以及模板的使用。

m0_54024106的博客 4034

UE4 专用服务器搭建(UE4.27为例)

专用服务器、DS服务器

mimo134的博客 2775

云端全自动AI漫剧生成工作流:从模型选型到完整实现

本文提出了一套云端全自动AI漫剧生成工作流解决方案,旨在解决传统漫剧制作效率低下的问题。该系统采用"编排引擎+模型矩阵"架构,通过集成大语言模型、图像生成、视频合成等技术,实现从剧本输入到成片输出的全流程自动化。 核心内容包括: 模型选型方案:剧本解析采用DeepSeek-V3/GPT-4o,图像生成使用DALL-E 3,视频合成选用Stable Video Diffusion,语音合成采用MiniMax TTS 系统架构设计:基于Celery分布式任务队列的编排层,分解任务至各功能模块

huanghm88的专栏 645

Java基础班 第九天(下) 接口

第一节 :接口概述 A 对外提供规则的都是接口  B 接口特点     a  接口用关键字 interface表示 interface 接口名字 {}   b 类实现接口 用implements表示    c接口不能实例化  如果想实例化 那么用多态的方式    d 接口的子类  可以是抽象类 没有意义  可以是具体类 需要重写所有的抽象方法 代码是在第九天 重点那个文件夹里 c...

weixin_40079205的博客 210

药物不良反应预测实战指南:从FAERS数据挖掘到PyTorch深度学习模型(含可解释性分析)

【代码】药物不良反应预测实战指南:从FAERS数据挖掘到PyTorch深度学习模型(含可解释性分析)

理论都是虚的,代码才是王道。 722

JAVA基础———第九天

接口 定义: 接口是抽象方法和常量值得集合,从本质上讲,接口是一种特殊的抽象类。这种抽象类中只包含常量和方法的定义,而没有去实现。 格式: interface 接口名 { } 接口中成员修饰符是固定的:(注意:定义接口时不能省略返回值类型) 成员变量:public  static  final   成员函数:public  abstract  特点: 1.接口是对外暴露的规则。

u010372028的专栏 458

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java零基础学习第九天

今天我们主要学习面向对象的最后一个知识点:接口,以及常用的一些设计模式,内部类以及Lambda表达式。 一.接口 接口是一种特殊的抽象类 1.接口的优点: 定义开发规范;提高代码的复用性;解耦;多实现类只能单继承 2.公共的静态常量和方法 在jdk1.7及之前接口中只能存在公共的静态的常量+公共的抽象方法 1)公共的静态的常量: public static final 数据类型 变量名=赋值; 修...

qq_35901141的博客 157

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java基础复习第九天:抽象类和接口

一 抽象类 1.由来 父类中的方法,如果所有子类都要重写,那么此时父类的方法体就失去了意义 那么我们可以把方法体去掉,只留方法的声明,这种只有方法声明没有方法实现的方法称为 抽象方法 含有抽象方法的类一定是抽象类 子类如果继承了抽象类,那么必须重写抽象类中所有的抽象方法,否则子类还是一个抽象类 2.抽象方法的格式; public abstract 返回值类型 方法名(参数列表); ...

UTF-8的博客 300

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

接口(学习java第九天)

一、接口引入 抽象类中定义的是该继承体系的共性功能。(是不是的关系) 广义的角度,接口的本质是契约,标准,规范。就像我们的法律一样。制定好后大家都要遵守 狭义的角度,接口,是Java语言中一种引用类型,更多的体现在对行为的抽象,所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法(jdk9)。 接口中定义的是该继承体系的扩展功能。(能不能的关系) 二.接口的定义和使用 接口的定义,它与定义类方式相似,但是使用 interface关键.

weixin_42279465的博客 417

学习java第九天

学习java第九天 抽象类 关键字:abstract 代码格式: //抽象类 访问修饰符 abstract class 类名{ 访问修饰符 abstract 返回值类型 方法名(); //抽象方法必须放在抽象类里面 //抽象方法没有大括号,即没有方法体。 } 注: 返回值上加上abstract 抽象方法没有方法体 { }; 抽象方法必须放在抽象类里面,但抽象类可以有抽象方法,普通方法。 一...

weixin_44377696的博客 216

Java第九天:static【重点】,接口

文章目录static【重点】,接口1. static【重点,难点】static修饰的所有内容和对象无关1.1 static修饰静态成员变量1.1.1 生活中静态成员变量1.1.2 代码中使用静态成员变量【重点】1.1.3 静态成员变量使用注意事项【重点】1.1.4 静态成员变量和构造代码块完成计数操作1.2 static修饰静态成员方法1.2.1 生活中的静态成员方法1.2.2 静态成员方法格式【...

yuemmm的博客 279

第九天Java基础(Stream流)

第九天Java基础(Stream流)1. Stream流1.1 获取流1.2 常用的方法1.3 特点 1. Stream流 解决集合和数组的遍历问题 1.1 获取流 1.所有的colletion集合都可以,使用stream流 //1.list集合 List<String> list = new ArrayList<>(); Stream...

RestartJava的博客 248

第九天Java基础(引用)

第九天Java基础(引用)1. 方法引用( 类名 ::方法名 )2. 如果存在继承关系,可以通过super、this关键字,来引用方法3. 构造方法的引用4. 数组的引用 1. 方法引用( 类名 ::方法名 ) 主要用于Lambda表达式进行优化 以打印一句话为案例 1.接口中只有一个抽象方法 interface MyInterface{ abstract void print(String ...

RestartJava的博客 216

【苍穹外卖 | 项目日记】第九天

本文总结了苍穹外卖项目实战第九天的开发经验,重点完成了用户端历史订单模块和商家端订单管理模块的开发。主要内容包括:1)RESTful接口设计规范与复杂分页查询实现;2)解决了@RequestBody注解使用错误和一对多表关系查询问题;3)实现了历史订单查询、取消订单、再来一单等功能;4)开发了商家端订单搜索、状态统计及完整订单处理流程;5)总结了分页查询、注解使用、表关系处理等实用技巧。通过实战深入理解了订单状态流转机制和业务驱动开发的重要性。

感谢阅读。 1660

学习JAVA的第九天(基础)

接口的介绍和使用,内部类的分类,以及每个内部类的解释和格式

醉饮半壶酒的博客 1136

30天学Java第九天——线程

调用 start 方法会启动一个新线程,内存会分配一个新的栈空间给新线程(分配完成start方法就结束了,main 方法中的代码继续向下执行),新线程的代码在新的栈空间执行,main 方法的代码在 main 方法的栈空间执行,两个线程抢夺 CPU 时间片交替执行。调用 run 方法并没有启动新线程,代码都是在 main 方法中执行的,内存只有一个主线程的栈,因此必须 run 方法中的代码执行玩,才能执行后续的代码。在 Java 中,线程被分为两大类,一类是用户线程,一类是守护线程。

m0_55329111的博客 2563

Kotlin 入门第九天——继承、接口、扩展

一、继承 1. 定义一个Base类: open class Base(p: Int) { open var x = 0 open val y = 0 } 定义一个子类Child,继承Base类,要注意,这个子类没有构造函数. 子类没有构造函数,必须在每一个二级构造函数中用super关键字初始化基类,或者在代理另一个构造函数。 class Child(p: Int) : Base(p) { } 引用Child方式: val child = Child(100) ...

文远 605

java impliments,java基础英语---第九天

Super ['sju: pə] 父类的,超级的,,超类的Final ['fai nl] 最终的finallyfinalizedAbstract ['æbstrækt] 抽象的Interface [ 'intəfeis ] 接口Imple ments ['impliments] 实现Mouse [maus ] 鼠标, 老鼠Bonus [ 'bəunəs ] 奖金Inner [...

weixin_31992501的博客 254
上一篇: 第八天Java基础(网络编程)
下一篇: 第九天Java基础(Stream流)
RestartJava
博客等级 码龄7年 1粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值