std::vector<int> v, matches;
std::vector<int>::iterator i = v.begin();
MyPred my_pred;
while(true) {
i = std::find_if(i, v.end(), my_pred);
if (i == v.end())
break;
matches.push_back(*i);
}
Для записи, в то время как я видел реализацию, где вызов end()
на list
был O (n), я не видел реализаций STL, где вызов end()
на vector
был чем-либо кроме O (1) - главным образом, потому что vector
с, как гарантируют, будут иметь итераторы произвольного доступа.
, Несмотря на это, если Вы волнуетесь по поводу неэффективного end()
, можно использовать этот код:
std::vector<int> v, matches;
std::vector<int>::iterator i = v.begin(), end = v.end();
MyPred my_pred;
while(true) {
i = std::find_if(i, v.end(), my_pred);
if (i == end)
break;
matches.push_back(*i);
}
Теперь можно также использовать класс UUID, обеспеченный java.util. UUID, который отображается на uuid типе данных Пост-ГРЭС, в спящем режиме без любых преобразований, требуемых при чтении/записи из базы данных.
@Id
@GeneratedValue
private UUID id;
сгенерированное значение является автоматическим по умолчанию, это позволяет Вашей JVM определить UUID. Это также позволяет, в спящем режиме для использования пакетной оптимизации вставки.
можно настроить базу данных для устанавливания значения UUID. Больше информации может быть найдено здесь https://vladmihalcea.com/uuid-identifier-jpa-hibernate /