List<String> result = PRE_SORTED_FIELDS_LIST
.stream()
.filter(fieldNames::remove)
.collect(Collectors.toList());fieldNames::remove удаляет элемент из списка fieldNames. Если элемент присутствовал - возвращается true, в противном случае false. Т.о. в стриме остаются только те элементы, которые присутствовали и были удалены из fieldNames..collect(Collectors.toList()) собирает стрим в обычный лист.