当前位置: 首页 > news >正文

常见算法(3)

1.Arrays

它是一个工具类,主要掌握的其中一个方法是srot(数组,排序规则)。

o1-o2是升序排列,o2-o1是降序排列。

package test02;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Random;
import java.util.Scanner;
import javax.xml.crypto.Data;
public class test {public static void main(String [] arg)   {Integer[] arr= {2,6,4,8,9,5,3,1,7};//利用Arrays工具类进行排序:(数组,排序规则)Arrays.sort(arr, new Comparator<Integer>() { //匿名内部类@Overridepublic int compare(Integer o1,Integer o2) {return o1-o2;}});System.out.println(Arrays.toString(arr));}
}

2.匿名内部类

若要用匿名内部类去调用方法

调用一个方法的时候,如果这个方法的形参是一个接口,那么我们就要传递这个接口的实现类对象;如果实现类对象只要用到一次,就可以用匿名内部类的形式进行书写。

public class test {public static void main(String [] arg)   {//用匿名内部类改写method(new Swim() {@Overridepublic void swimming(){System.out.println("游泳");}});}//原方法public static void method(Swim s) {s.swimming();}}
interface Swim {public abstract void swimming();
}

3.Lambda表达式

1)Lambda表达式可以用来简化匿名内部类的书写。

2)Lanmda表达式只能简化函数式接口的匿名内部类的书写。

函数式接口:有且仅有一个抽象方法的接口叫函数式接口,接口上方可加@FunctionalInterface注解。

//Lambda表达式Arrays.sort(arr, (Integer o1,Integer o2)-> {return o1-o2;});System.out.println(Arrays.toString(arr));}
}

Lambda表达式省略写法:

1)参数类型可以省略不写;

2)如果只有一个参数,参数类型可以忽略,同时()也可以忽略。

3)如果Lanbda表达式的方法体只有一行,大括号,分号,return可以忽略不写,需要同时忽略。

//Lambda表达式省略写法Arrays.sort(arr, ( o1, o2)-> o1-o2	);System.out.println(Arrays.toString(arr));

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • AI爆文写作:或许开放性的标题,才会更让人想点开了解答案
  • easy-es EsAutoConfiguration RestHighLevelClient 没有自动注入配置
  • 算法训练营第三十九天 | LeetCode 738 单调递增的数字、LeetCode 968 监控二叉树
  • 非整数倍数据位宽转换24to128
  • Meta发布Chameleon模型预览,挑战多模态AI前沿
  • Softing工业推出新品edgeGate:一款用于工业边缘和云应用的硬件网关
  • 使用VirtualBox+vagrant创建CentOS7虚拟机
  • 简易进程池的实现
  • MySQL 8.4.0 LTS 变更解析:I_S 表、权限、关键字和客户端
  • 家政服务,让您的家更温馨
  • C++ 数据结构算法 学习笔记(32) -五大排序算法
  • AI预测福彩3D采取888=3策略+和值012路一缩定乾坤测试5月25日预测第1弹
  • 【机器学习】大模型在机器学习中的应用:从深度学习到生成式人工智能的演进
  • 【AI大模型】这可能是最简单的本地大模型工具,无须部署,一键使用
  • Controlnet作者放出新的大招 IC-Light,可以操控图像生成时的光照,对内容主体重新打光生成符合新背景环境光照的图片
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 07.Android之多媒体问题
  • CentOS6 编译安装 redis-3.2.3
  • eclipse的离线汉化
  • exif信息对照
  • javascript数组去重/查找/插入/删除
  • js
  • Leetcode 27 Remove Element
  • Linux Process Manage
  • mysql 5.6 原生Online DDL解析
  • Netty 4.1 源代码学习:线程模型
  • node和express搭建代理服务器(源码)
  • PHP那些事儿
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Solarized Scheme
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • vue脚手架vue-cli
  • 浮动相关
  • 扑朔迷离的属性和特性【彻底弄清】
  • k8s使用glusterfs实现动态持久化存储
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #NOIP 2014#Day.2 T3 解方程
  • (Python) SOAP Web Service (HTTP POST)
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)PySpark3:SparkSQL编程
  • (分布式缓存)Redis持久化
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (利用IDEA+Maven)定制属于自己的jar包
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (十七)Flink 容错机制
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .NET C# 配置 Options
  • .net core + vue 搭建前后端分离的框架