Удалить из map<***, vector<string>> пары с пустыми векторами

184
12 ноября 2018, 05:00

Нужно удалить из словаря map<***, vector<string>> Events пары, в которых вектор строк пуст. Я смог это сделать путем создания вектора, добавления в него нужных ключей и уже потом итерированием по этому вектору удалять значения:

vector<***> needDelete;
for(auto& item : events){
if(item.second.empty()) needDelete.push_back(item.first);
}
for(auto& item : needDelete){
Events.erase(item);
}

Но нет ли способа сделать эту операцию быстрее?

Answer 1
for (auto it = Events.begin(); it != Events.end(); ) {
        if (it->second.empty())
            it = Events.erase(it);
        else
            ++it;
}
READ ALSO
retrofit2 отправить Bitmap на сервер

retrofit2 отправить Bitmap на сервер

Есть Bitmap (Именно битмап или дальнейшее его преобразование) объектКаким образом можно отправить его на сервер? Сам в изучении навичек

194
Представления символа в виде битов. Java

Представления символа в виде битов. Java

Допустим у меня есть символ 'C', и мне нужно получить его представление в двоичной системе, те

184
Запись ключевых слов в jpeg-файл

Запись ключевых слов в jpeg-файл

Мне нужен совет по записи массива ключевых слов в данные изображения после некоторых операций с нимПробовал пользоваться metadataextractor, но так...

260
Как этот код можно упростить?

Как этот код можно упростить?

Поинтер тут для того, что бы следующий вызов метода getLong() читал далее байты, как это упростить? Выходит, что мне нужно что-то на подобии DataInputStream,...

183