从Set中提取索引值有什么问题

时间:2014-02-03 07:41:27

标签: groovy

这是我的一段代码。

def http = [100 : 'CONTINUE',200 : 'OK',400 : 'BAD REQUEST']
def listset = http.keySet()
log.info listset[0]

我希望在这里,listset[0]= 100

但是得到......

groovy.lang.MissingMethodException:
    No signature of method: java.util.HashMap$KeySet.getAt()
        is applicable for argument types: (java.lang.Integer) values: [0]
    Possible solutions: getAt(java.lang.String), getAt(java.lang.String), putAt(java.lang.String, java.lang.Object), wait(), toSet(), sort() error at line: 32

这有什么问题.. ??

1 个答案:

答案 0 :(得分:6)

错误消息是全部:您正在调用的方法listset.getAt()未实现。

您可以通过将集转换为数组或列表来解决此问题,例如: listset.toList()[0]listset.toArray()[0]

那说我不确定这样做是否有意义,因为set不能保证定义中元素的顺序。如果需要处理地图的所有键,请改用迭代器。