Глядя на документацию, кажется, что я мог бы использовать либо ListState
, либо ValueState<List<String>>
для сохранения состояния. Например код ниже:
// Use ListState
ListStateDescriptor<String> lDescriptor = new ListStateDescriptor<String>
("testListState", TypeInformation.of(new TypeHint<String>() {}));
ListState<String> testListState = getRuntimeContext().getListState(lDescriptor);
// Use ValueState
ValueStateDescriptor<List<String>> testDescriptor =
new ValueStateDescriptor<List<String>>("testList",
TypeInformation.of(new TypeHint<List<String>>() {}));
ValueState<List<String>> testState = getRuntimeContext().getState(testDescriptor);
Если мне нужно сохранить уникальный список элементов, привязанных к каждому ключу, будет ли преимуществом использование одного над другим? Недостатком использования ListState было бы сначала преобразовать Iterable в List <>, если мне нужно изменить его перед сохранением списка, тогда как я мог бы просто получить список напрямую, если я использую ValueState.