首页 > 其他分享 >Day6笔记

Day6笔记

时间:2024-12-30 23:53:13浏览次数:5  
标签:Day6 List getId getValue 笔记 team 方法 表达式

一些代码注解

List<String> tagList = gson.fromJson(tags, new TypeToken<List<String>>(){}.getType());
  • ``Gson` 是 Google 提供的用于转换 Java 对象和 JSON 表示之间的一个简单轻量级库。
  • new TypeToken<List>(){}.getType()创建了一个匿名内部类的实例来捕获泛型类型信息List,然后通过 getType()获取该类型的Type对象。这是因为 Java 的泛型在运行时会擦除类型信息(即类型擦除),所以需要这样的方法来保留实际的泛型类型信息,以便Gson` 可以正确地反序列化数据。
 List<Pair<User, Long>> topUserPairList = list.stream()
                .sorted((a, b) -> (int) (a.getValue() - b.getValue()))
                .limit(num)
                .collect(Collectors.toList());

其中sorted((a, b) -> (int) (a.getValue() - b.getValue()))内部小于0是升序和写排序方法一致

方法引用 vs. Lambda 表达式

  • 方法引用 (TeamUserVO::getId):这是一种更为简洁的写法,当你要调用的方法已经存在并且符合函数式接口的要求时可以使用。它直接引用了类的静态方法、实例方法或构造器。
  • Lambda 表达式 (team -> team.getId()):提供了更大的灵活性,允许你编写更复杂的逻辑。在这个例子中,lambda 表达式接收一个 team 参数并调用它的 getId() 方法。
final List<Long> teamIdList = teamList.stream().map(team -> team.getId()) // 使用Lambda表达式    .collect(Collectors.toList());

final List<Long> teamIdList = teamList.stream().map(TeamUserVO::getId) // 使用方法引用    .collect(Collectors.toList());

重复加入队伍的问题

只要我们点的足够快,就可以在同一时间内往数据库插入多条同样的数据,所以这里我们使用分布式锁(推荐)使用两把锁,一把锁锁队伍,一把锁锁用户(实现较难,不推荐)

标签:Day6,List,getId,getValue,笔记,team,方法,表达式
From: https://www.cnblogs.com/shallowdream123/p/18642773

相关文章

  • ov5640_lcd_display学习笔记
    最近学习了正点原子fpgaov5640摄像头显示例程,特此记录一下。系统框架与接口FPGA要操控的外围器件为ov5640摄像头、LCD和DDR3,接口方面也并不算复杂,用到的接口为sccb、dvp以及RGB888。sccb接口用来配置摄像头寄存器参数,并且iic兼容sccb,所以配置寄存器直接调用iic的驱动模块即......
  • 《具体数学》阅读笔记
    《具体数学》阅读笔记目录《具体数学》阅读笔记1.常见化简技巧1.1.基数变换1.2.待定系数法1.3.和式和递归式1.3.1.求和因子1.3.2扰动法1.3.3巧用定律与法则1.常见化简技巧1.1.基数变换形如\[\begin{aligned}&f(j)=\alpha_j,&&1\lej\led;\\&f(dn+j)=cf(n)+\beta_......
  • 读书笔记3
    《程序员的修炼之道:从小工到专家》第八章主要探讨了如何进行有效的软件项目管理,以及在项目管理中的最佳实践。以下是这一章节的读书笔记,总结了重要观点和概念。软件开发不仅仅是编写代码,良好的项目管理是确保项目成功的关键要素。项目管理涵盖了计划、执行、监控和收尾等整个过程......
  • 读书笔记2
    《程序员的修炼之道:从小工到专家》的第七章主要集中在与他人协作的艺术,关注团队合作及沟通技巧在软件开发中的重要性。以下是这一章节的读书笔记,概述了主要观点和关键概念。在现代软件开发中,程序员通常不再单打独斗,团队合作是取得成功的关键。成功的软件项目常常依赖于团队成员之......
  • html 笔记梳理
    style属性用于改变HTML元素的样式。通过HTML样式,能够通过使用style属性直接将样式添加到HTML元素,或者间接地在独立的样式表中(CSS文件)进行定义。background-color属性为元素定义了背景颜色:<bodystyle="background-color:yellow">      //大背景是黄......
  • rabbitmq学习笔记
    RabbitMQ简介简介2006年,AMQP规范发布。2007年,Rabbit技术公司基于AMQP标准开发的RabbitMQ1.0发布AMQP​AMQP,即AdvancedMessageQueuingProtocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议......
  • 8086汇编(16位汇编)学习笔记10.寄存器总结
    8086汇编(16位汇编)学习笔记10.寄存器总结-C/C++基础-断点社区-专业的老牌游戏安全技术交流社区-BpSend.net寄存器8086CPU有14个寄存器它们的名称为:AX、BX、CX、DX、SI、DI、SP、BP、 IP**、CS、DS、ES、**SS、PSW。8086CPU所有的寄存器都是16位的,可以存放两个字节。AX、......
  • 读书笔记
    《程序员的修炼之道:从小工到专家》的第六章主要集中在如何持续学习与自我提升。以下是这一章节的读书笔记,概述了其中的一些主要观点和概念。程序员的职业生涯中,技术是不断发展的,学习新技术和工具已成为必然。提升自己的技能是走向专家之路的重要一步。持续学习不仅可以增广自己的......
  • 《计算机组成及汇编语言原理》阅读笔记:p133-p159
    《计算机组成及汇编语言原理》学习第11天,p133-p159总结,总计27页。一、技术总结1.segment(1)定义Broadlyspeaking,acontiguoussectionofmemory.Morespecifically,asectionofmemoryreferencedbyoneofthesegmentregistersofthe80x86family.Theme......
  • RL强化学习基础教程(李宏毅老师课程笔记)
    RL概述增强式学习(一)与机器学习一样都是三个步骤那RL可以講的技術啊,非常非常地多,它不是在一堂課裡面可以講得完的,我甚至覺得說,如果有人要把它開成一整個學期的課,可能也是有這麼多東西可以講,所以今天啊,這堂課的目的,並不是要告訴你有關RL的一切,而是讓大家有一個基本的認識,大概......