У меня есть методsolver.calculateForDay(day, uuid) Дьяс это Enum и список uuid.
public enum DaysOfWeekEnum {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
List<String> uuidList = [
"c03b26e0-721e-3b57-9ffe-1b3709c4159e",
"223bfb41-8d2b-3555-86ee-7aa9c73fe223",
"d65e6239-d10d-3711-b76d-458290bcb76b",
"854acaa6-3166-3542-8511-c46a21ce4a5b",
"0a3e1588-ad59-3586-b071-d5001f5ff9a7",
"e5524b9b-3aca-3b80-9aab-19bfec30fb9b",
"1dbd3cd0-8382-3736-a9bd-f2cc78187dad",
"63d29aeb-ab91-3d24-b40c-d69f2955a893",
"a63ffce5-1d86-3afc-8b5a-97452f935632",
"f62e1509-845b-3ac4-b85b-7648f675496d",
"6ed7a21e-22a3-39a0-a83c-734e35625c67",
"1edfbf51-36ff-34a6-9036-cfbd2ce8451e",
"ac33181d-59bc-3b17-88fe-26fd10584bb6",
"56e8e85d-e2e8-3419-8cfe-831acdbede84",
"3f45f239-f137-3f7c-a45c-b0bf40b4de37",
"b9aef79d-0397-320e-a393-db346b9496b4",
"fd6ee25b-1768-3d81-8a22-f4410b0cce6f",
"b349f0ea-c810-3790-bdc3-a82ed5921a28",
"c4164cc5-1371-3ecb-a6d1-9f8d49531189"
]
Можете ли вы помочь мне реализовать цикл внутри цикла. Что у меня есть:
@Autowired
private final DaysResolver resolver;
List<Boolean> collect = Stream.of(DaysOfWeekEnum.values())
.map(days -> resolver.calculateForDay(days, "c03b26e0-721e-3b57-9ffe-1b3709c4159e"))
.collect(Collectors.toList());
Могу ли я динамически перебирать uuidList, потому что, как вы можете видеть, в этом примере я жестко запрограммировал uuid «c03b26e0-721e-3b57-9ffe-1b3709c4159e», и я не знаю, как это реализовать.
Ожидаемый звонок:
boolean calculateForDay(DaysOfWeekEnum type, String uuid)
resolver.calculateForDay(Monday, "c03b26e0-721e-3b57-9ffe-1b3709c4159e")
resolver.calculateForDay(Monday, "223bfb41-8d2b-3555-86ee-7aa9c73fe223")
resolver.calculateForDay(Monday, "d65e6239-d10d-3711-b76d-458290bcb76b")
resolver.calculateForDay(Monday, "854acaa6-3166-3542-8511-c46a21ce4a5b")
........
resolver.calculateForDay(Tuesday, "c03b26e0-721e-3b57-9ffe-1b3709c4159e")
resolver.calculateForDay(Tuesday, "223bfb41-8d2b-3555-86ee-7aa9c73fe223")
resolver.calculateForDay(Tuesday, "d65e6239-d10d-3711-b76d-458290bcb76b")
resolver.calculateForDay(Tuesday, "854acaa6-3166-3542-8511-c46a21ce4a5b")
........
Мне непонятно, чего вы пытаетесь достичь… Вы хотите вызывать resolver.calculateForDay(…, …)
для каждого uuid каждый день? Кстати, уже есть встроенное перечисление java.time.DayOfWeek
, возможно, нет необходимости в специальной реализации.
И вы хотите получить список логических значений?
Да, мне нужно вызватьsolver.calculateForDay и посмотреть результат в логическом списке
Вы можете flatMap
список uuid:
List<Boolean> collect =
Stream.of(DaysOfWeekEnum.values())
.flatmap(day -> uuidList.stream()
.map(uuid -> resolver.calculateForDay(day, uuid))
.collect(Collectors.toList());
Я получил ошибку: не существует экземпляров переменных типа R, поэтому void соответствует R