У меня есть список, содержащий случайный элемент из другого списка
var test = listOf<String>("Blah blah " + list1.shuffled().take(1)[0] + " blah blah")
Больший список biglist
, содержащий меньшие списки, такие как test
Затем есть цикл «для», в котором я заполняю stringbuilder случайными списками из biglist
var list3 = listOf<String>("Something something1","Something something2")
var list2 = listOf<String>("item1", "item2", "item3", "item4")
var list = listOf<String>("Blah " + list2.shuffled().take(1)[0] + " blah")
var sb = StringBuilder ()
var biglist = listOf<String>()
if (...) biglist += list
if (...) biglist += list3.get(0)
if (...) biglist += list3.get(1)
for (i in 0 until 4) {
sb.append(biglist.shuffled().take(1)[0] + "\n")
i + 1
}
println(sb)
Итак, на выходе я хочу увидеть что-то вроде этого:
Something something1
Blah item2 blah
Something something2
Blah item4 blah
Вместо этого у меня есть это:
Something something1
Blah item2 blah
Something something2
Blah item2 blah
Моя проблема в том, что в списке sb
, test
будет каждый раз содержать один и тот же элемент, случайно выбранный в начале кода из list1
У меня есть видрешил это, поместив создание biglist
INTO в цикл for
(и очистив его после sb.append), но это просто заставило мой код выглядеть еще более забавным (и медленнее?)
Может быть, естьлучшее решение для этого?Спасибо