HashMap 中的一个“坑”!(1)

简介: HashMap 中的一个“坑”!(1)

最近公司新来了一个小伙伴,问了磊哥一个比较“奇怪”的问题,这个问题本身的难度并不大,但比较“隐蔽”,那究竟是什么问题呢?接下来我们一起来看。


起因


最近公司的系统要增加一个新的列表展示功能,功能本身难度并不大,但遇到了一个很“可怪”的问题。小伙伴在执行查询列表时,明明已经使用了 order by 进行排序了,但最终查询出来的数据却还是乱的。


预期中的(正确)结果:


微信图片_20220120233537.jpg


现实中的(非预期)结果:


微信图片_20220120233554.jpg


那到底是哪里出现了问题呢?


问题展示


为了方便展示,我把复杂的业务程序简化成了以下代码:


import java.util.HashMap;
public class App {
    public static void main(String[] args) {
        HashMap<String, Object> result = getList();
        result.forEach((k, v) -> {
            System.out.println(k + ":" + v);
        });
    }
    // 查询方法(简化版)
    public static HashMap<String, Object> getList() {
        HashMap<String, Object> result = new HashMap<>(); // 最终返回的结果集
        // 伪代码:从数据库中查询出了数据,然后对数据进行处理之后,存到了
        for (int i = 1; i <= 5; i++) {
            result.put("2022-10-" + i, "hello java" + i);
        }
        return result;
    }
}



相关文章
|
数据库 Python
Python 纯函数与副作用,可变参数与不可变参数
在Python的函数式编程中,Python既可以在调用时对实参进行修改,也可以通过返回值返回函数调用结果。这样的既有返回值又能修改传参的模式,在进行编程开发时,容易遗漏修改传参对结果的影响
249 0
|
机器学习/深度学习 人工智能 安全
云栖科技评论第73期:传统产业的数字化转型 破除“肌肉记忆” 拥抱变化与未知
因此,破除“肌肉记忆”是传统产业面临数字化浪潮、迈入数字经济时代必须要完成的首要任务,正所谓“不破不立”,破除“肌肉记忆”,树立“对未知的事情一见如故”的积极心态,并从业务战略、组织结构上真正践行数字化转型,继而从中获益。
26232 0
|
C# 索引
C#中修饰符用法“virtual(虚拟函数)、override(重载函数)、static(静态函数)、abstract(抽象函数)、sealed(密封函数)”
1、virtual用于修饰方法、属性、索引器或者事件声明,并使它们可以在派生类中被重写。virtual不能与static、abstract、private或者override修饰符一起使用。 声明为virtual的方法被重写时,派生类中可以使用base关键字访问父类中的publid,protected成员。
1801 0
|
2天前
|
云安全 人工智能
2025,阿里云安全的“年度报告”
拥抱AI时代,阿里云安全为你护航~
1439 1
|
9天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1415 10
|
9天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
1327 7
|
10天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
1204 15
|
4天前
|
人工智能 前端开发 API
Google发布50页AI Agent白皮书,老金帮你提炼10个核心要点
老金分享Google最新AI Agent指南:让AI从“动嘴”到“动手”。Agent=大脑(模型)+手(工具)+协调系统,可自主完成任务。通过ReAct模式、多Agent协作与RAG等技术,实现真正自动化。入门推荐LangChain,文末附开源知识库链接。
453 118

热门文章

最新文章