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

南京做网站营销广州做seo的公司

南京做网站营销,广州做seo的公司,团员电子档案查询网,张家港做网站公司以下是使用 Java Stream 对对象列表按 id 和 age 排序的完整示例,包含升序和降序两种场景: 1. 定义测试对象类 Getter Setter public class Person {private int id;private int age; }2. 排序实现代码 import java.util.*; import java.util.stream.…

以下是使用 Java Stream 对对象列表按 idage 排序的完整示例,包含升序和降序两种场景:

1. 定义测试对象类

@Getter
@Setter
public class Person {private int id;private int age;
}

2. 排序实现代码

import java.util.*;
import java.util.stream.Collectors;public class StreamSortExample {public static void main(String[] args) {List<Person> people = Arrays.asList(new Person(3, 25),new Person(1, 30),new Person(2, 20),);System.out.println("原始列表: " + people);// 升序排序(id优先,age次之)List<Person> ascending = people.stream().sorted(Comparator.comparing(Person::getId).thenComparing(Person::getAge)).collect(Collectors.toList());// 降序排序(id优先,age次之)List<Person> descending = people.stream().sorted(Comparator.comparing(Person::getId, Comparator.reverseOrder()).thenComparing(Person::getAge, Comparator.reverseOrder())).collect(Collectors.toList());System.out.println("升序结果: " + ascending);System.out.println("降序结果: " + descending);}
}

3. 输出结果

原始列表: [Person{id=3, age=25}, Person{id=1, age=30}, Person{id=2, age=20}, Person{id=3, age=20}]
升序结果: [Person{id=1, age=30}, Person{id=2, age=20}, Person{id=3, age=20}, Person{id=3, age=25}]
降序结果: [Person{id=3, age=25}, Person{id=3, age=20}, Person{id=2, age=20}, Person{id=1, age=30}]

注意点说明:

  1. 排序优先级

    • thenComparing() 表示当主排序字段(id)相同时,使用次要字段(age)继续排序
    • 示例中 id=3 的两个对象会按 age 进一步排序
  2. 升序实现

    Comparator.comparing(Person::getId).thenComparing(Person::getAge)
    
  3. 降序实现

    Comparator.comparing(Person::getId, Comparator.reverseOrder()).thenComparing(Person::getAge, Comparator.reverseOrder())
    
    • 每个字段的比较器都需要单独指定排序顺序
    • 使用 Comparator.reverseOrder() 明确指定降序
  4. 扩展性

    • 要添加更多排序字段,继续追加 .thenComparing()
    • 要改变排序优先级,调整方法调用顺序即可

动态排序,封装成方法块

如果需要运行时动态指定排序规则,可以使用函数式接口:

public static List<Person> sort(List<Person> list, Comparator<Person> comparator) {return list.stream().sorted(comparator).collect(Collectors.toList());
}// 调用示例
sort(people, Comparator.comparing(Person::getId).thenComparing(Person::getAge));

这种方法可以将排序逻辑与具体实现解耦,提高代码复用性。

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

相关文章:

  • 网站制作公司有哪些证游戏推广话术
  • 杭州哪里做网站好seo按天计费系统
  • 小男孩与大人做的网站重庆网站建设技术外包
  • 新网站前期seo怎么做网站联盟广告
  • flash网站开发百度推广入口登录
  • 十大免费软件下载seox
  • 武汉建设深圳搜索引擎优化的简称是
  • 西安的网站建设网站seo外包公司专家
  • 怀集建设房管部门网站免费网站推广软件下载
  • 雅茂道网站建设大连网站seo
  • 无锡网站建设设计seo基础入门
  • 重庆建设工程网站黄冈网站推广软件
  • 写出网站版面布局设计步骤深圳市网络营销推广服务公司
  • 做网站建设的利润网络推广营销方式
  • 美国做网站北京seo学校
  • 服务器分配网络提高网站访问速度营销的主要目的有哪些
  • 网站建设书籍推荐网站制作策划书
  • 做网站的作品思路及步骤产品市场调研怎么做
  • 网站促销活动策划武汉seo人才
  • 网络推广工具有哪些seo信息查询
  • 建网站 教程如何在网上推广自己的公司
  • 百度网盘做视频网站网络营销的特点和优势
  • 哪家网络公司做网站好百度商务合作联系
  • HTML5怎么做自适应网站市场营销试题库(带答案)
  • 郑州的网站建设公司哪家好企业网站优化服务公司
  • 丰台周边网站建设网络品牌营销
  • 苏州市做网站2022最新版百度
  • wordpress后台504seo深圳培训班
  • 毕业设计网站做几个页面保温杯软文营销300字
  • 贵阳做网站哪家公司好全球搜索