fun removeDuplicates(elements: List<String>): List<String> {
val encountered = HashSet<String>()
val result = ArrayList<String>()
for (element in elements) {
if (encountered.add(element)) {
result.add(element)
}
}
return result
}
fun main() {
val elements = listOf("aaa", "bbb", "ccc", "ddd", "eee", "aaa", "www", "ddd", "bbb", "aaa")
println(elements)
println(removeDuplicates(elements))
}
/*
run:
[aaa, bbb, ccc, ddd, eee, aaa, www, ddd, bbb, aaa]
[aaa, bbb, ccc, ddd, eee, www]
*/