Временные значения кэширования, которые будут использоваться позже в «для» петли с использованием javaJAVA

Программисты JAVA общаются здесь
Anonymous
Временные значения кэширования, которые будут использоваться позже в «для» петли с использованием java

Сообщение Anonymous »

У меня есть список объектов, которые я должен использовать, используя «для» цикла, где для каждого элемента в списке классы DAO будут вызоваться с использованием значения из объекта. Существует вероятность того, что значение из элемента списка, который я использую для вызова DAO, может быть повторена в списке, и я хочу временно сохранить или кэшировать его до «для», чтобы «цикл завершен, чтобы я мог избежать дубликатов вызовов базы данных. Мне нужны только кэшированные значения до завершения цикла. < /P>
Есть ли лучшее решение для следующего фрагмента кода?public Object test_2() {
List list = List.of(
TestClass.builder().lowerCase("a").upperCase("A").build(),
TestClass.builder().lowerCase("b").upperCase("B").build(),
TestClass.builder().lowerCase("a").upperCase("A").build(),
TestClass.builder().lowerCase("c").upperCase("C").build(),
TestClass.builder().lowerCase("c").upperCase("C").build());

HashMap hashMap = new HashMap();
for (TestClass index : list) {
TestClass object = null;
if (hashMap.containsKey(index.getUpperCase())) {
object = hashMap.get(index.getUpperCase());
} else {
// Expensive call to Database/External Endpoint
object = TestClass.builder().build();
hashMap.put(index.getUpperCase(), object);
}
// Some other processing inside loop using object
// will return if some condition is satisfied
// (Ex: If satisfied in first iteration of "for" --will return
}
}


Подробнее здесь: https://stackoverflow.com/questions/723 ... using-java

Вернуться в «JAVA»