一个JAVA排序列表实现 sorted list

本文介绍了在数据量不大时,如何用Java实现一个简单的排序列表。通过单链表实现升序排序,提供了添加、删除最小值、获取最大值及查询大小等功能。此实现不保证线程安全,适用于不需复杂功能的场景。如需更多特性,可直接修改源代码。项目已开源在GitHub,欢迎star。
摘要由CSDN通过智能技术生成

一个支持排序的链表,java api,网上找半天没有合适,实在困惑(有知道流行类库有类似结构的请留言~ ),自己贡献一个。

一般场景下,TreeSet,TreeMap满足大部分业务场景,红黑树的速度也不错。

对于实现comparable的对象的list,要改成treemap进行排序,完后再变形回来,实在麻烦。

如果数据量不大,使用一个单链表实现asc排序,简单实用。实现了添加(add),获取最小值并删除(pollFirst), 获取最大值,以及获取大小等。线程不安全。需要更多feature的可以直接更改,数据结构很简单。

喜欢的话给个star吧  https://github.com/Warmriver/sortedList

结构如图所示



/**
 * @author wangwentian0@hotmail.com
 * Sorted(asc) single linked list implemented in java
 * @license MIT
 * Thread unsafe
 * @param <T>
 */
public class SortedList <T extends Comparable>{
    private NodeWrapper<T> head;
    private Node
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值