/**
 * Copyright 2008-2009. Chongqing Communications Industry Services Co.,Ltd Information Technology Branch. All rights reserved.
 * <a>http://www.crunii.com</a>
 */
package com.crunii.micro.common.concurrent.collection;

import javax.annotation.concurrent.ThreadSafe;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * <pre>
 *     固定长度的sortedSet，
 *     达到长度后，前面的数据会删除
 *     使用于保存最近的固定条数的记录,可能会插入重复数据
 *     长度不宜过大，尽量不超过1千
 * </pre>
 *
 * @author 田平 create 2022-07-26 15:30:28
 */
@ThreadSafe
public interface FixSizeSortedSet<T extends Serializable & RemoveId & Comparable> {

	public boolean removeById(String id);

	public List<T> getAll();

	public void add(T element, double score);

	public void addAll(Map<T, Double> elements);

	public void clear();
}
