У меня есть список приоритетов
List<String> priorities = Arrays.asList("NV","PH","OO","DR");
И у меня есть список предметов List<Item> availableItems
, где у предмета есть атрибут с именем type
, который может быть одним из значений из первого списка.
Итак, я работаю над методом, который возвращает один элемент (самый высокий приоритет), я что-то делал с компаратором и сортировкой, но я читал об этом, и мне сказали, что это занимает много времени, так как availableItems
может иметь много элементов, поэтому это может быть O(NLogN)
.
Чего я хочу добиться, так это если есть элемент с type
NV
return, поскольку это самый высокий приоритет Если не один с PH
и т. д., и если нет ни одного, вернуть любой элемент списка, так как их нет, но без использования компараторов или стоимость не высока