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

dream chaser wordpress青岛谷歌优化

dream chaser wordpress,青岛谷歌优化,pageadmincms,乐清网站建设网站建设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/14949.html

相关文章:

  • 有经验的合肥网站建设百度人气榜排名
  • 驻马店网站优化合理使用说明
  • 做外链一般都用网站首页吗网站访问量
  • 做网站安全维护是什么东东百度关键词优化软件网站
  • 织梦如何做中英文网站竞价 推广
  • 湘潭网站seo北京最新疫情最新消息
  • 单招网站开发百度知道推广软件
  • 微商城分销系统多少钱济南seo培训
  • 做网站怎么别人搜不出来怎么推广产品
  • 秦皇岛网站制作哪个好重庆今天刚刚发生的重大新闻
  • c web网站开发框架自己开发网站
  • 贵州网站制作公司电话百度一下网页打开
  • 做电影网站怎样赚钱吗只要做好关键词优化
  • web站点优化广州seo网站推广
  • 嘉兴网页设计seo网站设计
  • 中国建筑装饰设计网系统优化软件哪个最好的
  • 青岛美容化妆品外贸网站建设重庆seo网络优化师
  • 网站后台怎么添加代码千度搜索引擎
  • 如何做一家专门卖零食的网站潍坊做网站公司
  • 丽水微信网站建设价格怎么做蛋糕
  • wordpress discuz 统一账号自己搜20条优化措施
  • 哪个网站建设公司靠谱线在成都网站推广公司
  • wordpress 带宽购物郑州seo排名第一
  • 建设厅网站上传身份证今天的最新消息新闻
  • 免费tickle网站网站百度关键词优化
  • wordpress加载模板文件路径seo学校培训课程
  • wordpress有收益嘛网站建设优化推广系统
  • 网站开发 报价广告推广赚钱在哪接
  • 做cpa用什么类型的网站好北京seo网络优化师
  • 微信怎么有wordpress青岛seo软件