У меня есть список scala, содержащий строку и список целых чисел. Я хотел отфильтровать только те, которые имеют наибольший размер списка целых чисел. Обычный способ сортировки от наибольшего к наименьшему, а затем взятие n строк, имеет один недостаток.
var qq = List[(String,List[Int])]()
Скажем, например, список длиной 10, есть 6 списков размером 65, а остальные 5 имеют размеры меньше 65. Теперь мне нужно получить все 6 списков из вектора.
Подходы: традиционным способом было бы отсортировать список, получить размер самого высокого списка и добавить условие фильтра с этим размером.
var max = qq.sortWith(_._2.size>_._2.size).head._2.size //get maximum size
var filList = qq.filter(p=>p._2.size>=max) //filter them
Мой вопрос: есть ли другой быстрый и эффективный способ сделать это в scala? Поскольку я бы проделал этот процесс около 10 000-20 000 раз с большим размером списка.