首页 > 编程语言 >API和Lambda函数式编程思想

API和Lambda函数式编程思想

时间:2023-03-12 15:12:43浏览次数:38  
标签:arr num int 编程 mid API Date array Lambda

Arrays工具类

1.Arrays.toString()

该方法可以将对应数组内容以字符串形式输出

2.Arrays.sort(int [ ])

该方法对int数组内容进行选择排序

原理:

for (int x = 0; x < arr.length - 1; x++) { //外层循环表示基准位置,总共比较length - 1轮
            for (int y = x + 1; y < arr.length; y++) {//内层循环表示,从基准位置+1开始,到数组后面每个元素
                //3.基准位置 VS 后面元素比较  如果基准位置 > 后面元素 就交换(小的放基准位置)
                // arr[x]  arr[y]
                if (arr[x] > arr[y]) {
                    int temp = arr[x];
                    arr[x] = arr[y];
                    arr[y] = temp;
                }
            }
            System.out.println("第" + (x + 1) + "轮:" + Arrays.toString(arr));

        }

3.Arrays.binarySearch(int[ ] arr, int num)

该方法利用二分法进行查找指定元素

 public static int binarySearch(int[] arr, int num) {
        //1.定义最小索引  min
        int min=0;
        //2.定义最大索引  max
        int max=arr.length-1;
        //3.计算中间索引  mid
     //  int  mid=(min+max)/2;
        //4.比较 num  vs  arr[mid]
        // num > arr[mid]  min = mid + 1;
        // num < arr[mid]  max = mid - 1;
        // 找到了 return mid;
        //5.使用while循环,条件是? 包裹步骤3,4

        while(min<=max){
            int  mid=(min+max)/2;
            if(num>arr[mid]){
                 min=mid+1;
            }else if (num<arr[mid]){
                max=mid-1;

            }else{
                return mid;
            }
        }
        //找不到,返回-1
        return -1;
    }

4.冒泡排序补充

//进行length-1次排序

for (int i = 0; i < array.length-1; i++) {
     for (int j = 0; j < array.length-1-i; j++) {

//将最大的元素放到最尾端
             if (array[j]>array[j+1]){
                 int temp=array[j];
                 array[j]=array[j+1];
                 array[j+1]=temp;
             }
     }

Date

1.构造方法

new Date()//获取起始时间到当前时间的毫秒值

new Date(毫秒值L)  //将指定毫秒值转换为Date对象

2.成员方法

setTime(毫秒值L)//将指定毫秒值传入Date对象

getTime()//获得当前Date对象的毫秒值

SimpleDateFormat

1.构造方法

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

2.成员方法

format(Date)

格式化:将Date对象按构造方法指定的形式转化

parse(String)

解析:将指定格式的字符串转化成Date对象类型

Calendar

1.获取Calendar对象

Calendar是抽象类,不可以直接实例化,但可以调用静态方法getInstance()获取对象

Clendar c=Clendar.getInstance();

2.常用方法

set(int field,int vaule)//通过set修改日历指定枚举的字段信息

field为指定的字段用Calendar.XXX的形式操作

Calendar.YEAR/Calendar.MONTH(0-11)/Calendar.DATE

getTime()//获得当前时间日期对象

getTimeInMillis();//获得当前时间毫秒值

add(int field,int amount)//对指定字段信息进行增减操作

 

                                                                   

BigDecimal类

1.获取对象

只有两种方式

构造器

new BigDecimal(String)

静态方法

BigDecimal.valueOf(double)

2.常用方法

add()加

subtract()减

multiple()乘

divide()除

当遇到divide无线循环结果时

divide(bd2,保留小数位数,RoundingMode.HALF_UP(舍入规则))

Lambda表达式(函数编程思想)

1.使用前提

有接口,有且只有一个抽象方法

2.Lambda的格式

(参数列表)->{方法体

3.Lambda省略格式

当只有一个参数时小括号可以省略,参数类型可以省略,方法体只有一个语句大括号,分号,renurn都能省略

4.用Lambda实现多态

  • 写一个接口
  • 写一个useXXX方法,参数类型是接口
  • 调用方法,传入匿名内部类
  • 如果是函数式接口使用Lambda表达式

标签:arr,num,int,编程,mid,API,Date,array,Lambda
From: https://www.cnblogs.com/zlsame/p/17208177.html

相关文章

  • 编程中常见的 Foo 是什么意思?
    “Foo”是一个编程中经常使用的占位符,它没有特定的含义,只是作为一个通用的标识符来使用,这种用法类似于数学中的"x"或"y"。这个词最初可能源于20世纪60年代MIT的人工智能......
  • 并发编程-信号量
    importrandomimporttimefromthreadingimportThread,Semaphoresm=Semaphore(5)'''semaphore信号量可以通过内置计数器来控制同时运行线程的数量每当调用......
  • C++11异步编程(std::async, std::future, std::packaged_task, std::promise)
    文章目录​​1.std::future概述含义​​​​2.std::future​​​​2.std::packaged_task​​​​2.std::promise​​1.std::future概述含义C++0x提供了future和promise来简......
  • 【编辑器】常用编程环境使用感受20190804
    一、编辑器1、Vim/Emase又被称之为神器:编辑器之神vs神之编辑器学习使用成本高and定义所有功能2、Sublime/Vscode/Atom现在编辑器,有以下特点:跨平台,颜值高,性能佳3、Note......
  • 内部类和包装类的回顾和Api
    内部类1.内部类的含义在一个外部类里面定义的一个类被称为内部类2.内部类的分类成员内部类在外部类中在方法外的类局部内部类在外部类方法中的类匿名内部类3.成员......
  • 学习ASP.NET Core Blazor编程系列二十八——JWT登录(3)
    学习ASP.NETCoreBlazor编程系列文章之目录学习ASP.NETCoreBlazor编程系列一——综述学习ASP.NETCoreBlazor编程系列二——第一个Blazor应用程序(上)学习A......
  • C#高级编程2
        C#快速构建代码块简写功能总结表格简写功能示例prop创建属性代码块publicintMyProperty{get;set;}cw创建对Console.WriteL......
  • shell编程语言-预交互脚本expect
          -bash-4.2#catftp-expect.shspawnftp192.168.56.1expect"):"send"ftp\r"expect"Password:"send"123456\r"expect"ftp>"send"putftp-expect......
  • 使用免费API开发微信小程序
    最新在看微信小程序文档,做了一个简单的小程序——每日开心短视频用到的免费api地址:https://api.aa1.cn 预览效果: 可以扫描小程序二维码体验:(忽略头像[旺柴])  ......
  • 编程高手进阶参考
    编程高手箴言-读书笔记 编程高手箴言-读书笔记 目录编程高手箴言-读书笔记1程序点滴1.1程序不等于软件1.1.2认清自己的发展1.2高手是怎样练成的1......