【问题标题】:Java TreeMap without GNU GDL [closed]没有 GNU GDL 的 Java TreeMap [关闭]
【发布时间】:2026-01-26 02:50:01
【问题描述】:

我正在寻找没有 GNU 许可的 TreeMap 的源代码。

我需要这个,因为我需要一个可以处理条目的 TreeMap(例如:putEntry(Entry aEntry)。我的程序将用于商业用途。

在此致谢

我不搜索库...!

答案中的代码不是我想要的。比我复制条目。我会回收一个条目

【问题讨论】:

  • 所以基本上,“gimme teh codez”(虽然不是通常看到的方式......)
  • 内置TreeMap有什么问题?当然,没有专门的 putEntry() 方法,但是将条目分解为其键和值并仅使用 put() 方法非常简单!我完全不明白你为什么要费心寻找第三方替代品......
  • 我必须回收地图,问题是,如果我说 put(k,v) 它将复制条目。我不想复制条目。

标签: java treemap


【解决方案1】:

给你。专为您打造。

import java.util.Map;
import java.util.TreeMap;

public class TreeMapWithoutGNULicense<K, V> extends TreeMap<K, V> {
    private static final long serialVersionUID = 3069492680223110767L;

    public boolean putEntry(Map.Entry<K, V> entry) {
        return super.entrySet().add(entry);
    }
}

我正在考虑将其作为啤酒器具授权。

更新

SO leaves me no choice:必须是CC-BY-SA。请不要给我送啤酒。

【讨论】:

  • 不幸的是,使用什么许可证不是您的选择 - 根据stackexchange.com/legal,您在 SO(或任何其他 Stack Exchange 站点)上发布的任何内容都会自动为 CC-BY-SA...
  • @IanRoberts 这对我有用。
  • 这不是解决方案。我的垃圾收集器有问题,所以我必须回收地图。 super.put 将创建一个新的入口对象,旧的将被 gc 扫描
  • 非常感谢您的回答。但我有一个大问题。我无法从 entrySet 中的条目更改密钥;(
  • 输入键是不可变的。听着,Java 的集合/类型系统已经足够丰富了。为什么不创建一个完全符合您要求的树形图?