是否有任何标准';gettable';Java接口?

是否有任何标准';gettable';Java接口?,java,interface,Java,Interface,我需要将几个容器暴露给不同的组件,我在这里实际需要的只是: interface Gettable { public String get(String key); } 是否有任何标准的Java(SE)接口尽可能接近这个接口,而不引入另一个接口,而是将公开的容器行为限制到所需的最小值 更新: 所选解决方案是自定义接口。我真的希望尽可能保持它的通用性。我认为最接近的标准接口是java.util.Map。请注意,映射的许多方法都是可选的(可能会导致不支持的操作异常)。Guava几乎就像Jav

我需要将几个容器暴露给不同的组件,我在这里实际需要的只是:

interface Gettable {
    public String get(String key);
}
是否有任何标准的Java(SE)接口尽可能接近这个接口,而不引入另一个接口,而是将公开的容器行为限制到所需的最小值

更新:
所选解决方案是自定义接口。我真的希望尽可能保持它的通用性。

我认为最接近的标准接口是
java.util.Map
。请注意,映射的许多方法都是可选的(可能会导致不支持的操作异常)。

Guava几乎就像Java标准,它们有
函数
(),其中包含您要查找的签名

T应用(F输入)

返回将此函数应用于输入的结果


另一个自定义接口没有问题

可获取的公共接口{
公共V-get(K键);
}

您真正需要的可能的副本是可获取的还是缓存、映射、注册表、参数等?我的意思是Gettable不是一个自解释的名称。不幸的是,签名不允许参数。所以这几乎正是他不想要的:-)
Map
有很多包袱除了这个方法之外,它还有非常明确的契约,在我看来,使用它来实现单一的方法是对接口的滥用。是和否。所需的方法主要包括“参数有效吗?”(包含,isEmpty)以及迭代“所有这些您可以得到的东西”(大小、键/值/条目集合)的方法。但是,当然,我明白你的意思,这就是为什么我提到“最接近的标准接口”。好吧,可能是选项,但我真的不喜欢它的
get(Object)
signature。读起来像“get table”。