2015-12-18 2 views

ответ

-1

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

Если вы предварительно обработаете данные, сопоставьте значение и ключ на новой карте, например newmap['report6'] = 'UserName3', сложность алгоритма будет O(m+n).

Итак, когда у вас много запросов, вы должны выбрать второй подход.

0

В гуавы, filterValues с предиката, вы можете получить указанные записи. Пример:

Multimaps.filterValues(testMultiMap, new Predicate<List<String>>() { 
     @Override 
     public boolean apply(List<String> strings) { 
      return strings.contains("report6"); 
     } 
    }); 
Смежные вопросы