Collections.sort排序方法的最简化写法

Collections.sort排序方法的最简化写法

Collections.sort排序方法的最简化写法

假定按照Number对象的Id字段进行排序

正序排序

Collections.sort(resultList, Comparator.comparing(Number::getId));

逆序排序

Collections.sort(resultList, Comparator
                .comparing(Number::getId, Comparator.reverseOrder()));

初始化map集合长度最优值

  1. 假设我们期望集合中存放的元素的数量是num,那么需要将集合长度设置为(num/0.75 + 1)
  2. 或者使用guava包的Maps.newHashMapWithExpectedSize()方法来初始化map
  3. 优势:减少集合的扩容次数,属于是使用内存换性能.

参考:https://blog.csdn.net/csdn_ty/article/details/109742352

spring编程式事务实现

参考: https://blog.csdn.net/qq_33404395/article/details/83377382

Spring Boot之全局异常处理:404异常为何捕获不到?

spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false

参考:https://blog.csdn.net/w1014074794/article/details/106038996

kafka操作命令合集

https://juejin.cn/post/7022145069851361311

LocalDate获取某月第一天第一秒和最后一天最后一秒

/**
     * 获取某月份的第一天
     *
     * @param amount 传0获取当月第一天,传-1获取上个月第一天
     * @return
     */
    private LocalDateTime getFirstDayOfMonth(Integer amount) {
        LocalDate now = LocalDate.now();
        LocalDate date = now.plusMonths(amount);
        LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth());
        return LocalDateTime.of(firstDay, LocalTime.MIN);
    }

    /**
     * 获取某月最后一天
     *
     * @param amount 传0获取当月最后一天,传-1获取上个月最后一天
     * @return
     */
    private LocalDateTime getLastDayOfMonth(Integer amount) {
        LocalDate now = LocalDate.now();
        LocalDate date = now.plusMonths(amount);
        LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth());
        return LocalDateTime.of(lastDay, LocalTime.MAX);
    }

接口相应结果添加统一字段

@Component
@ControllerAdvice
public class CustomResponseBodyAdvice implements ResponseBodyAdvice {

    @Override
    public boolean supports(MethodParameter returnType, Class> converterType) {
        // 指定需要处理的控制器方法的返回类型
        // 这里可以根据需求进行适当的判断,例如基于注解或返回类型等条件
        return true;
    }

    @Override
    public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
            Class> selectedConverterType,
            ServerHttpRequest request, ServerHttpResponse response) {
        // 获取返回结果对象,并进行字段设置
        if (body instanceof ApiResponse) {
            ApiResponse responseObj = (ApiResponse) body;
            HttpServletRequest httpRequest = ((ServletServerHttpRequest) request).getServletRequest();

            // 从HttpServletRequest中获取请求的方法、URL和URI
            String method = httpRequest.getMethod();
            String url = httpRequest.getRequestURL().toString();
            String uri = httpRequest.getRequestURI();

            // 向返回结果对象中补充设置字段
            responseObj.setAction(method);
            responseObj.setPath(url);
            responseObj.setUri(uri);
            responseObj.setOrganization(url.split("/")[3]);
        }

        return body;
    }
}

Original: https://www.cnblogs.com/MorningBell/p/16659416.html
Author: MorningBell
Title: Collections.sort排序方法的最简化写法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/619991/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java中的包装类(Interage和String)

    包装类的分类 包装类的特点 包装类有了类的属性就可以调用类中的方法,更有了类的特点,还可以进行类型的互相转换,更方便我们使用。 包装类和基本数据类型的转换 jdk5前的手动装箱和拆…

    Java 2023年6月6日
    068
  • 力扣刷题之路—–数组的遍历

    参考刷题顺序:力扣刷题顺序 本文章做自我总结,总结做题时自己的想法以及官方解题思路。 涉及题目 485 最大连续 1 的个数 495 提莫攻击 414 第三大的数 628 三个数的…

    Java 2023年6月5日
    089
  • 别再纠结线程池大小线程数量了,没有固定公式的

    可能很多人都看到过一个线程数设置的理论: CPU 密集型的程序 – 核心数 + 1 I/O 密集型的程序 – 核心数 * 2 不会吧,不会吧,真的有人按照这…

    Java 2023年6月13日
    086
  • Spring AOP全面详解(超级详细)

    如果说 IOC 是 Spring 的核心,那么面向切面编程AOP就是 Spring 另外一个最为重要的核心@mikechen AOP的定义 AOP (Aspect Orient P…

    Java 2023年6月15日
    076
  • Spring基于注解的AOP的切面优先级

    每一个切面都有一个默认的优先级(默认值为Integer的最大值) @Order(1)通过这个注解设置一个正整数数值,数值越小,优先级越高 @Component @Aspect//&…

    Java 2023年6月16日
    076
  • rocketmq有序消息

    RocketMQ提供的顺序消费消息实现是使用的FIFO 先进先出算法 Producer消息发送 public class Producer { public static void…

    Java 2023年6月16日
    061
  • Java Lambda 表达式

    Java Lambda 表达式 Java Lambda 表达式https://www.runoob.com/java/java8-lambda-expressions.html O…

    Java 2023年5月29日
    088
  • THO医鸣会章程

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年5月29日
    054
  • session 控制单点登录

    在我登录成功之后,我会 session.setAttribute("user", userMap);//设置session 所以就写了一个监听器来控制登录的。 …

    Java 2023年5月30日
    065
  • java 集合学习资料收集

    ArrayDeque , LinkedList , Stack的关系差不多就是下图那样 Stack实现了Vector接口,LinkKist实现了Deque,List接口,Array…

    Java 2023年5月29日
    075
  • 彻底掌握Makefile(三)

    彻底掌握Makefile(三) 前言 在前面的文章彻底掌握Makefile(一)和彻底掌握Makefile(二)当中,我们简要的介绍了一些常见的makefile使用方法,在本篇文章…

    Java 2023年6月8日
    074
  • Logstash 入门实战(2)–安装及使用

    本文主要介绍 Logstash 的安装及简单的使用,相关的环境及软件信息如下:CentOS 7.9、Logstash 8.2.2、Elasticsearch 8.2.2。 1、安装…

    Java 2023年6月16日
    060
  • nginx + nginx-rtmp-module + springboot 搭建直播流服务器实现推流、拉流实时直播功能

    业务需求 最近公司在做养老相关的业务,现在需要子女从小程序端对家里的老人通过家庭终端交互屏进行实时看护。 解决方案 第三方的一些现成的服务:腾讯音视频通话、直播功能; 阿里的音视频…

    Java 2023年6月13日
    064
  • Java字节码含义

    Java字节码 操作数栈 在解释执行过程中,每当为Java方法分配栈桢时,Java虚拟机往往需要开辟一块额外的空间作为操作数栈,来存放计算的操作数以及返回结果。具体来说, JVM执…

    Java 2023年5月29日
    046
  • 教学日志:javaSE-循环语句

    /* while循环:先判断条件,再执行逻辑代码 四部分组成: 1、初始化:循环的初始化变量 2、条件判断:条件返回必须是true或false 3、循环体:条件满足的话执行的逻辑代…

    Java 2023年6月5日
    085
  • Java程序初始化的顺序是怎样的?

    在Java语言中,当实例化一个对象时,首先需要对对象中的所有成员变量进行初始化,这些成员变量可能包括静态变量和非静态变量,只有当类中所有的成员变量都初始化完后,才会调用类的构造函数…

    Java 2023年6月8日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球