Несколько вариантов, ни одна из них не очень красивая:
set.iterator()[0]
set.find { true }
set.collect { it }[0]
Наконец, если гарантируется, что в этом наборе есть только один элемент:
def e
set.each { e = it }
Основная проблема, конечно же, заключается в том, что наборы Java не предоставляют определенного порядка (как упомянуто в Javadoc ), и, следовательно, нет возможности получить n-й элемент (обсуждается в этом вопросе и этот ). Следовательно, любое решение всегда состоит в том, чтобы каким-то образом преобразовать набор в список.
Я предполагаю, что любой из первых двух вариантов предполагает наименьшее копирование данных, поскольку они не должны составлять полный список набора, а для набора из одного элемента это вряд ли должно вызывать беспокойство.