Обязательное основанное на генераторе изменение:
def unique(seq):
seen = set()
for x in seq:
if x not in seen:
seen.add(x)
yield x
Поскольку предположительно getList ()
может возвращать подкласс из HashMap
, который также реализует List
. Маловероятно, да, но возможно и, следовательно, компилируемо.
Во-первых, List - это интерфейс. Нет причин, по которым не могло бы существовать подкласса HashMap, который также реализует интерфейс List. В этой ситуации это было бы совершенно справедливо.