Это в основном то, что моя программа делает:Выберите 1 из каждого из 11 ArrayLists слишком медленно
, если у вас есть 5 различных рубашек и 4 различных штаны на выбор есть 20 различных комбинаций рубашки и брюки вы может носить, и моя программа будет проходить через все 20 комбинаций, чтобы определить, какой из них «лучший».
Кроме того, в моей ситуации существует 11 различных видов одежды (таких как головные уборы, перчатки, брюки, серьги, обувь, плащ и т. Д.) И целых 10 предметов в каждой категории. Таким образом, может быть целых 11^10 комбинаций, и когда я пытался запустить свою программу всего по 4 в каждой категории или 11^4, это заняло около 5 секунд. 11^10 займут ДНИ.
В настоящее время то, что у меня происходит, равно 11, чтобы петли, вложенные друг в друга, проходили через каждую комбинацию. Это, очевидно, не лучший способ сделать это, потому что он настолько медленный. Как я могу сделать это быстрее? Для контекста у меня есть 1 «внешний» ArrayList, содержащий 11 ArrayLists, и каждый из этих 11 ArrayLists - это список объектов (одежда).
Просто интересно, но что, если вы попытались сделать это с помощью массивов, а не ArrayLists. Но, несмотря на это, вы много зацикливаетесь, поэтому для этого не неожиданно требуется немного времени. –
Как вы определяете, что лучше? – tvanfosson
Кстати, у вас есть ваш экспонат и базы перепутаны. он должен быть 10^11 и 4^11, т. е. с 11 различными категориями с 4 элементами в каждом из общего числа комбинаций 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 * 4 = 4^11, а не 11^4. – tvanfosson