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

成都那家网站做的好私域平台运营分为几个步骤

成都那家网站做的好,私域平台运营分为几个步骤,网页版微信不能登录的原因,手机报价大全2021中关村Arrays.sort() 的核心功能是对数组元素进行原地排序(即直接修改原数组),支持以下两种排序方式: 自然排序:适用于实现了 Comparable 接口的元素(如 Integer, String, Date 等)自定义排序&#x…

Arrays.sort() 的核心功能是对数组元素进行原地排序(即直接修改原数组),支持以下两种排序方式:

  1. 自然排序:适用于实现了 Comparable 接口的元素(如 IntegerStringDate 等)
  2. 自定义排序:通过传入 Comparator 接口的实现类,自定义排序规则

常见的重载形式:

// 自然排序(要求元素实现 Comparable 接口)
public static void sort(int[] a)
public static void sort(Object[] a)// 自定义排序(通过 Comparator 接口)
public static <T> void sort(T[] a, Comparator<? super T> c)// 对部分元素排序(fromIndex 到 toIndex-1)
public static void sort(int[] a, int fromIndex, int toIndex)

一、Comparator 接口的基本定义:

@FunctionalInterface
public interface Comparator<T> {// 比较两个对象,返回值决定顺序int compare(T o1, T o2);// 默认方法(Java 8+新增)default Comparator<T> reversed() { ... }default Comparator<T> thenComparing(Comparator<? super T> other) { ... }// 更多默认方法用于组合比较器
}
  • compare 方法返回值
    • 负数:表示 o1 应排在 o2 前面
    • 0:表示 o1 和 o2 相等
    • 正数:表示 o1 应排在 o2 后面

二、四种核心使用方式

1. 匿名内部类实现(最经典方式) 
String[] names = {"Alice", "Bob", "Charlie", "David"};// 按字符串长度升序排序
Arrays.sort(names, new Comparator<String>() {@Overridepublic int compare(String s1, String s2) {return s1.length() - s2.length();}
});
// 排序后:["Bob", "Alice", "David", "Charlie"]

 2. Lambda 表达式(Java 8 + 推荐方式)

// 按字符串长度降序
Arrays.sort(names, (s1, s2) -> s2.length() - s1.length());// 按字母倒序(忽略大小写)
Arrays.sort(names, (s1, s2) -> s2.compareToIgnoreCase(s1));

3. 方法引用

// 按字符串自然顺序排序(等同于 Comparator.naturalOrder())
Arrays.sort(names, String::compareTo);// 按整数升序排序
Integer[] nums = {5, 3, 8, 1};
Arrays.sort(nums, Integer::compare);

4. 使用预定义比较器(Java 8 + 内置方法)

// 自然顺序(升序)
Comparator<String> natural = Comparator.naturalOrder();// 逆序(降序)
Comparator<String> reversed = Comparator.reverseOrder();// 按字符串长度排序
Comparator<String> byLength = Comparator.comparingInt(String::length);// 使用示例
Arrays.sort(names, byLength.reversed()); // 按长度降序

 以 实现的寻找距离原点最近的 k 个点的算法 为例:

  • 输入:二维平面上的点坐标数组points(每个点用 [x,y] 表示),以及整数 k
  • 输出:距离原点 (0,0) 欧几里得距离最近的 k 个点
public int[][] kClosest(int[][] points, int k) {// 对points数组进行排序,自定义比较器按距离从小到大排列Arrays.sort(points, new Comparator<int[]>() {public int compare(int[] point1, int[] point2) {// 计算两个点到原点的距离平方差return (point1[0] * point1[0] + point1[1] * point1[1]) - (point2[0] * point2[0] + point2[1] * point2[1]);}});// 返回排序后的前k个元素return Arrays.copyOfRange(points, 0, k);
}

比较器 (Comparator) 的作用

比较器需要实现compare方法,该方法接收两个参数:

  • point1point2分别代表两个待比较的点(一维数组,长度为 2)
  • 返回值决定了两个元素的顺序:
    • 负数:表示point1应该排在point2前面
    • 正数:表示point1应该排在point2后面
    • 0:表示两个元素相等

通过传入 Comparator 实例,可以对任意类型的数组定义排序规则,避免修改原类

http://www.dtcms.com/wzjs/794193.html

相关文章:

  • 浦口区建设网站成都网站开发公司排名
  • 如何做网站软件搭建服务器做网站
  • 外销网站百度竞价代运营公司
  • 网站建设对企业的帮助博客系统 wordpress
  • 一个人做网站建设需掌握单机游戏网页版
  • c语言和c 哪个做网站好手动安装wordpress主题
  • 网站备案 用假地址可以么wordpress评论表情不显示
  • 网站开发包含上线吗房产交易网官网
  • 上海城乡建设部网站首页满亦工作室 网站建设
  • 崇明建设机械网站wordpress中文主题框架
  • 汕头网站建设运营团队编程培训机构加盟品牌
  • 响应式网站 手机站培训类网站建设
  • 佛山网站开发哪家好西宁市解封最新消息
  • 可以做填字游戏的网站中国企业黄页信息网
  • 广州网站建设一般多少钱开发公司对代理公司管理
  • 做不锈钢网站我做的网站有时打开很慢什么原因
  • 豪华大气的旅行社网站源码怎么制作h5棋牌软件
  • php简单企业网站源码做网站接私活流程
  • js效果网站招聘网站策划书
  • 有好点的做网站的公司吗深圳龙岗区租房子多少钱一个月
  • 网站流量合作珠海高端网站开发
  • 石景山做网站的公司抄一则新闻四年级
  • 淄博网站制作托管优化网站超链接怎么做 word文档
  • 做网络推广要做网站吗seo如何分析网站
  • 上海网站设计专注乐云seo多个网站能否统一做等保
  • 海丰建设局网站本地服务类网站成本
  • 网站怎样做超链接英文网站建设一般多少钱
  • 如何做简单网站首页东营志愿服务网
  • 网站后台需要ie6修改网页工程师培训机构
  • 为什么网站打不开企业网页有免费的吗