к
filterWithKey заявлено как O(n), но я посмотрел на реализацию, и по-моему там тоже n*log(n)
линзовое конечно будет в любом случае медленнее, потому что два прохода будет, но не существенно все равно. Если там не просто фильтрация, а чет более сложное линзовое, то мб имеет смысл