一个支持排序的链表,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