4.9java学习总结

常用API(了解即可,用到了再回来看)

API(工具类):已经打包好我们可以根据他提供的格式直接用就好(很像函数)

API都可以通过 类名.方法名 进行调用.

Math

Math类包用于常用的基本数学运算的方法.

System:

System类包提供了一些与系统相关的方法

Runtime:

Runtime类包提供方法表示当前虚拟机的运行情况.

Object:

Object是类结构中的根(顶级父类),几乎所有的类都是它的子类,所以所有的类都拥有他的方法,所以一般都要求使用之前重写Object中要使用的方法

Object只有一个空参构造所以所有的类都默认有个空参构造.

clone(使用前要仔细学习使用方法)

BigInteger:

BigInteger类提供超大的整数和与之相关的运算方法

对象创建后值无法改变

常用的方法

BigDecimal:

BigDecimal类提供超大的浮点数和与之相关的运算

对象创建后值无法改变

构造方法

常用方法

关于时间的类有点多就不细说了

Date:表一个特定的时间(单位毫秒)

SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

LocalDate 表示日期(年月日)
LocalTime 表示时间(时分秒)
LocalDateTime 表示时间+ 日期 (年月日时分秒)

Lambda表达式

Lambda表达式是用于简化代码使得代码更加的简洁易懂,可读性更高.(常用来替代内部类)

使用格式

( )->{

}

() : 表示方法的形参.

-> : 格式.

{} : 具体的方法.

Lambda表达式只能简化函数式接口的匿名内部类的接口.

函数式接口 : 有且只有一个抽象方法的接口.验证方法:接口上方可以加上 FuntionalInterface

public class Main {
    public static void main(String[] args) {
        Swim(()->{
            System.out.println("正在游泳");
        });
    }
    public static void Swim(swim a){
        a.swimming();
    }
    interface swim{
        public void swimming();
    }
}

省略原则 :

1.参数类型可以省略不写.

2.如果只有一个参数,参数类型可以省略,()也可以省略.

3.如果Lambda表达式的方法体只有一行,(大括号,分号,return)(要省略必须一起省略)可以省略不写;

public class Main {
    public static void main(String[] args) {
        Swim(x-> System.out.println(x));
    }
    public static void Swim(swim a){
        a.swimming(123);
    }
    interface swim{
        public void swimming(int b);
    }
}

Lambda表达式遍历集合的简化方法

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> a=new ArrayList<>();
        a.add("jjm");
        a.add("gg");
        a.add("空白");
        a.forEach(b-> System.out.println(b));
    }
}

Stream流

Stream是一种工具类,借助Stream流可以让我们更方便的处理集合完成(筛选,排序等操作)

Stream流可以通过集合或数组直接创建.

虽然双列集合无法直接使用Stream流但是可以通过转换后使用.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.IntStream;
import java.util.stream.Stream;
//这里创建的Stream流单线程的,还有多线程的可提供使用.
public class Main {
    public static void main(String[] args) {
        ArrayList<String> a=new ArrayList<>();
        Stream<String> stream=a.stream();       //用集合来创建Stream流
        int [] b=new int[10];
        IntStream stream1= Arrays.stream(b);    //用数组来完成创建Stream流
    }
}

每一个Stream流在使用中不会直接用集合或数组里的值而是会重新创建一个集合或数组,所以在Stream流中的操作不会影响到原集合或数组

Stream流分为中间方法和结束方法

中间方法 :

中间方法可以有无数个.通常是使用Stream流对集合或数组中的数据进行操作.

中间方法的返回值为一个新的Stream流,旧的抛弃不用所以要用链式编程;

class  rabbita{
    int age;
    String name;

    public int getAge() {
        return age;
    }

    public rabbita setAge(int age) {
        this.age = age;
        return this;
    }

    public String getName() {
        return name;
    }

    public rabbita setName(String name) {
        this.name = name;
        return this;
    }

    public rabbita() {
    }

    public rabbita(int age, String name) {
        this.age = age;
        this.name = name;
    }
}
public class test{
    public static void main(String[] args) {
        rabbita  b=new rabbita()
                .setName("GG")               //链式编程
                .setAge(3);
        
        int age= b.getAge();                 //得到类的成员变量的值
        String name= b.getName();
        
        System.out.println(name);            //输出的得到的值
        System.out.println(age);
        
    }

}
结束方法 :

结束方法只能有一个.通常为遍历数据或将进行操作后的数据保存起来.

放入set,list,map操作不同这里只举例list.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> a=new ArrayList<>();
        a.add("蒋介石");
        a.add("蒋经国");
        a.add("唐山");
        a.add("沈剑心");
        //筛选操作以遍历结尾
        a.stream().filter(s->s.startsWith("蒋")).forEach(s-> System.out.println(s));
        System.out.println("\n");
        //限制输出前几个的操作(skip同理)以计数结尾
        long c=a.stream().filter(s->s.startsWith("蒋"))
                .limit(1)
                .count();
        System.out.println(c);
        System.out.println("\n");
        //筛选操作以放入集合结尾
         List<String> d=a.stream().filter(s->s.startsWith("蒋"))
                .collect(Collectors.toList());

        System.out.println(d);
    }
}

运行结果

java stream资料 : http://t.csdnimg.cn/20aqB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/530307.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《系统架构设计师教程(第2版)》第9章-软件可靠性基础知识-01-软件可靠性基本概念

文章目录 1. 软件可靠性的概述1.1 定义1.1.1 规定的时间1.1.2 规定的条件1.1.3 所要求的功能 1.2 定义的特点和意义1.3 注意点 2. 软件可靠性的定量描述2.1 规定时间2.1.1 自然时间2.1.2 运行时间执行时间 2.2 失效概率 F(t)2.3 可靠度 R(t)2.4 失效强度 f(t)2.5 平均失效前时间…

modelsim 仿真bmp图片实现RGB_YCrCb

用modelsim_se软件仿真bmp图片&#xff0c;可在modesim中实现一些图片处理算法和查看效果 本文以最简单的仿真一副bmp图像为例&#xff0c;实现RGB_YCrCb的modelsim仿真,带源工程 1、先在本地建立文件夹 2、首先打开moselsim 3、新建库和新建项目&#xff0c;保存到建立的文件…

Android音视频的基础

视频是什么&#xff1f; 视频就是由一系列图片构成的。 视频帧 帧&#xff0c;是视频的一个基本概念&#xff0c;表示一张画面&#xff0c;如上面的翻页动画书中的一页&#xff0c;就是一帧。一个视频就是由许许多多帧组成的。 帧率 帧率&#xff0c;即单位时间内帧的数量&a…

39-性能分析(下):APIServer性能测试和调优实战

在API上线之前&#xff0c;我们需要知道API的性能&#xff0c;以便知道API服务器所能承载的最大请求量、性能瓶颈&#xff0c;再根据业务对性能的要求&#xff0c;来对API进行性能调优或者扩缩容。通过这些&#xff0c;可以使API稳定地对外提供服务&#xff0c;并且让请求在合理…

网络网络层之(7)PPPOE协议

网络网络层之(7)PPPOE协议 Author: Once Day Date: 2024年4月7日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文档可参考专栏&#xff1a;通信网络技术_Once-Day…

紫叶写作靠谱不 #笔记#学习方法#媒体

紫叶写作是一款非常好用的论文写作工具&#xff0c;它不仅提供了查重降重的功能&#xff0c;还能帮助用户快速完成论文的撰写和格式编辑。通过紫叶写作&#xff0c;用户可以轻松地查重降重&#xff0c;避免论文中出现抄袭和重复的现象&#xff0c;保证论文的原创性和质量。 紫叶…

【网络】P2P打洞原理(简单描述)

本文首发于 ❄️慕雪的寒舍 引入 如果你折腾过NAS或者BT下载等等玩意&#xff0c;可能听说过“P2P打洞”这一技术名词。简单来说&#xff0c;P2P打洞可以让我们直接在外网访问内网的设备&#xff0c;从而让没有公网IP的家庭设备也能获得“公网直连”的速度。 比如绿联、极空间…

创建个人百度百科需要什么条件?

互联网时代&#xff0c;创建百度百科词条可以给个人带来更多的曝光和展现&#xff0c;相当于一个镀金的网络名片&#xff0c;人人都想上百度百科&#xff0c;但并不是人人都能创建上去的。 个人百度百科词条的创建需要满足一定的条件&#xff0c;今天伯乐网络传媒就来给大家聊聊…

神经网络解决回归问题(更新ing)

神经网络应用于回归问题 神经网络是处理回归问题的强大工具&#xff0c;它们能够学习输入数据和输出之间的复杂关系。 神经网络提供了一种灵活且强大的框架&#xff0c;用于建模和预测回归问题。通过 适当的 网络结构、训练策略和正则化技术&#xff0c;可以有效地从数据中学…

在Linux系统上实现TCP(socket)通信

一.什么TCP TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。 二.TCP通信流程 三. TCP 服务器端 1 创建socket int sockfd socket(AF_INET, SOCK_STREAM, 0); //SOCK_STREAM tcp通信2 绑定(bind) struct sockaddr_in myad…

系统架构最佳实践 -- 智慧图书管理系统架构设计

随着数字化时代的到来&#xff0c;智慧图书管理系统在图书馆和机构中扮演着重要的角色。一个优秀的图书管理系统不仅需要满足基本的借阅管理需求&#xff0c;还需要具备高效的性能、良好的扩展性和稳定的安全性。本文将讨论智慧图书管理系统的架构设计与实现&#xff0c;以满足…

计算机视觉异常检测——PatchCore面向全召回率的工业异常检测

1. 概述 异常检测问题在工业图像数据分析中扮演着至关重要的角色&#xff0c;其目的是从大量正常数据中识别出异常行为或模式。这一任务的挑战在于&#xff0c;正常数据的样本相对容易获取&#xff0c;而异常情况却因其稀有性和多样性而难以收集。为了解决这一问题&#xff0c…

裸机开发之汇编、寄存器

一、什么是汇编&#xff1f;为什么学汇编&#xff1f; 在之前写控制代码的时候就在想&#xff1a;底层是怎么控制的&#xff1f;后来经过学习知道之前所编写的代码都是应用层代码&#xff0c;顾名思义就是在系统写好的底层之上调用系统函数。原以为底层是指写系统写好的底层函数…

苹果电脑(Mac)怎么清理 itunes 备份?

苹果电脑用户广泛利用 iTunes 应用程序对 iPhone 或 iPad进行定期备份&#xff0c;以确保珍贵的数据安全无虞。然而&#xff0c;随着备份历史的增长&#xff0c;它们会在磁盘上积累大量空间&#xff0c;尤其当您频繁为多台设备备份时&#xff0c;存储资源可能会迅速消耗殆尽。为…

3D Web轻量化引擎HOOPS Commuicator如何从整体装配中创建破碎的装配零件和XML?

前言 虽然可以从某些本机CAD格式&#xff08;其子组件驻留在单独的文件中&#xff0c;例如CATIA V5、Creo - Pro/E、NX或SolidWorks&#xff09;创建破碎装配&#xff0c;但无法从整体装配文件&#xff08;例如IFC、Revit&#xff09;创建或3DXML。 本文介绍了一个示例&#…

学习Rust的第一天:基础知识

Introduction 介绍 I am Shafin Murani is a software development student and I am documenting every single day of my progress in learning rust. This is the first article of the series. Shafin Muranishi 是一名软件开发专业的学生&#xff0c;这是他在30天内记录学…

无影云电脑不能连接到本机的调试串口的解决方案

目录 概述 解决方案 云端电脑中的操作 本地USBDK驱动程序的更新 概述 我从1月份开始使用阿里的无影云电脑进行嵌入式开发板的测试&#xff0c;主要的原因有两个&#xff1a;一是平时使用的笔记本资源过于紧张&#xff0c;二是方便移动办公&#xff0c;这样我只要平时拿着开…

UDP简单总结

UDP&#xff1a;用户数据报协议 特点: 无连接、不可靠通信 不事先建立连接&#xff0c;数据按照包发&#xff0c;一包数据包含&#xff1a;自己的IP、程序端口、目的地IP、程序端口和数据(限制在64KB内) 发送方不管对方是否在线&#xff0c;数据在中间丢失也不管&#xff0c;…

备考分享丨云计算HCIE实验考试需要注意什么

去年九月底我在朋友的推荐下报考了誉天的云计算方向&#xff0c;在此期间我非常感谢田sir、苗苗老师和凡凡老师&#xff0c;每次我遇见问题找他们都能给我完完全全的解决&#xff0c;给我这个非科班出身的学员很大的鼓励与帮助。 我是经济学专业&#xff0c;毕业之后没有考研&…

java数据结构与算法刷题-----LeetCode785. 判断二分图

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 深度优先广度优先 二分图&#xff1a;将所有结点分成两个集合&am…