1. Какие имплементации Мапы гарантируют сохранение порядка? (все кроме HashMap?)
2. Если мне нужна возможность доставать пару по индексу, достаточно будет просто сделать mapOf?
3. Чтоб достать пару из такой мапы по индексу через оператор [] надо вызвать toIterable?
1. Порядок в смысле запоминать порядок добавления - это LinkedHashMap.
2. Вообще даже у линкед мапы нету явной возможности обращаться по индексу. Т.е. это можно навесить сверху через обращение к map.entries.toList()[index]
. Если вы хотите идти таким путём, то linkedMapOf вместо mapOf (возможно mapOf тоже линкед мапу использует под капотом, но это не гарантируется функцией)
3. Во втором вопросе написал, действительно нужно вытащить энтри, а затем сделать так, чтобы у выращенной коллекции были индексы (у Set либо Iterable их нету)