CocoLoop跨境电商论坛 - 中国跨境电商从业者的实战交流社区

为什么现在做后端的人越来越不爱用链表了?是我技术太落后了吗

Viewed 675

写了个数据处理模块,用链表做核心数据结构,被同事喷说链表性能差,让换成数组。我在想链表插入删除不是O(1)吗,难道我学的都是错的?大家现在做项目还用手写链表吗?

6 Answers

这个其实没那么复杂。链表在现代系统里不是死了,而是被细分到特定领域了。
你做嵌入式、驱动、操作系统的内核开发,链表还是爹。Linux内核的list_head、task_struct结构体里全是链表。但你要写个Web后端或者微服务,用链表就真没必要。
我2019年做个电商订单处理系统,一开始用的链表做订单缓存,后来发现并发锁竞争太严重。改成无锁队列(基于数组的CAS操作),吞吐量翻了3倍。从那以后我就学乖了:能用数组的绝不碰链表。
另外说一句,现在很多新语言比如Rust,标准库里链表都快被边缘化了。Vec(动态数组)才是亲儿子。语言设计者不是傻子。
所以别纠结,按场景选就行。心里没底就多测测,数据会说话。

新手表示学到了!

物流系统里也经常碰到链表。我给大家说个真实的。
2026 年有个跨境大卖客户的WMS(仓库管理系统)模块调优,里面用了链表存SKU库存变更记录。每次盘点都要遍历整张链表查历史,数据量大概50万条,一跑就是几十分钟。后来帮他们改成了按时间分片的数组+索引,查询时间从几十分钟降到几十秒。
链表在物流里最大的坑是:你以为是O(1)插入,实际上每次写操作都要重新分配节点内存,内存碎片一多,GC压力大,系统抖动。物流系统最怕的就是不稳定,一抖订单处理就慢了。
所以现在我做系统方案,能不用链表就不用。当然如果要实现FIFO队列,还是会用LinkedList,但那是JDK自带的,不是我手写的。靠谱还是靠谱的。

AI 跑下来效果还不错

感谢分享,思路打开了

楼上说链表慢,我部分同意。链表当年确实很牛,但那是针对单线程、小数据量的场景。
我17年刚入行的时候,接了个游戏排行榜模块的优化。里面用了大量链表存玩家数据,每次排序都是O(n log n)操作,n一上百万,服务器直接炸。后来改成数组+timsort,性能提升了40倍。
你说插入O(1),那是忽略了你找位置的时间。链表要找到插入点必须遍历,这个开销在数据量稍微大点的时候直接把O(1)变成了O(n)。
而且现代CPU有缓存行预取,数组这种连续内存结构,读一条能带出后面好几条。链表节点散落在堆里,每次访问都是缓存miss,性能差距能差十倍以上。
所以现在工业界用链表,基本就是队列ring buffer这种特化场景,或者做LRU缓存。让链表当主力结构,那是十年前的老黄历了。

每一步可以再细化

姐妹们我跟你们讲,这个坑我真的踩过。毕业第一份工作,写了个消息队列,里面核心用双向链表存消息。
当时觉得可牛了,插入删除O(1)。结果线上压测,吞吐量比同事用数组实现的差了3倍。我老板看了一眼,说"你去看看CPU缓存行是什么",我查完当场裂开。
链表不是不能用,是得用对地方。比如嵌入式那种内存管得很死、东西又少的场景,链表反而是宝藏(反直觉吧)。但服务器端动不动几百万数据,还是老老实实用数组吧。
我现在写代码,超过100个节点基本就不考虑链表了。除了LRU缓存和某些回调链表,其余都是数组。简洁、快、好debug。

海运慢船最近又延误

每一步可以再细化

受教了,这就去试试

其实你想反了,链表不是"已死",是"已退"到该在的位置。
我学数据结构的时候老师就说,链表适合频繁插入删除、不关心随机访问的场景。这话到现在都没错。但问题是,咱们实际项目里,那种场景真的很少。大部分时候你都得查、得遍历、得排序,数组+哈希表一把梭就够了。
我面试过好几个"手写链表"的候选人,面的时候吹得天花乱坠。结果进来写第一个API,一个list遍历写了三个for循环嵌套,链表的优势全没用上,人麻了。
我说句实话,你现在的代码如果链表用得很多,八成是设计过度。先把需求理清楚,再看结构该用什么。

成本这块我可以再补两笔

这事我也想问呢。面试八股文里链表问得飞起,反转链表、合并有序链表,背得滚瓜烂熟。结果真干活,写了一个链表,被代码review打回来,说"换成ArrayList"。
我后来想明白了,面试是考你数据结构基础,不是考你实际技术选型。就跟问你"TCP三次握手"一样,实际写代码谁手写TCP啊,还不是调库。
链表现在最大的价值是教你指针怎么玩、内存怎么管。真到生产环境,大部分人做CRUD,用链表就是给自己找不痛快。所以"已死"有点夸张,但作为主力数据结构,确实被淘汰了。
你同事说得对,还是换数组吧。我当初也是硬着头皮换的,换完之后真香。

申报口径每个国家略有差别

关于 CocoLoop跨境电商论坛

CocoLoop跨境电商论坛(ask.cocoloop.cn)是面向中国跨境电商从业者的垂直论坛社区,由一线卖家与行业老兵联合发起,专注实战经验交流,不做培训、不卖课、不带广告。社区覆盖跨境电商全链路话题:亚马逊 FBA 与 FBM 运营、Shopify 独立站建站与转化优化、TikTok Shop 短视频与直播带货、Temu 全托管与半托管、SHEIN 卖家入驻、Lazada 与 Shopee 东南亚站、Walmart Marketplace 美国本土店、Wayfair 家居垂直平台等主流渠道。

论坛内容由真实卖家发起讨论:从选品策略(产品定位、市场调研、利润测算)、Listing 优化(标题与关键词、A+ 页面、主图视频、品牌旗舰店搭建)、广告投放(PPC 关键词广告、SD 展示广告、SB 品牌广告、Vine 评论计划),到供应链合规(VAT 税务申报、欧代代表、EORI 注册、CE/FCC/PSE/RoHS 认证)、跨境物流(头程海派 / 空派 / 卡派、DDP 双清包税、海外仓选址与运营、退货逆向物流)、跨境收款(Payoneer、PingPong、连连国际、万里汇、Airwallex),到品牌出海(商标注册、海外公司架构、KYC 验证、知识产权维权)的完整经验沉淀。

论坛规则:禁止偷税漏税诱导、禁止海关低报与灰色清关讨论、禁止刷单与平台违规操作教学、禁止地下钱庄与违规外汇兑换。所有内容仅供合规视角下的经验分享,不构成法律、税务、金融的专业建议。请根据自身实际情况判断与决策。

© 2026 CocoLoop跨境电商论坛 · 中国跨境电商从业者的实战经验交流社区 · 备案:cocoloop.cn