我想存储如下数据:
(VCX, 1, VProgram), (ACF, 2, AProgram), (IFL, 3, IProgram) - //[ProgramType, priority, programName]
Input: inputProgramTypes: {ABC, VCX, IFL}
Output: winning programName based on priority // In this case: VProgram
因此,我计划使用具有多个值的Enum:
public enum ProgramType {
VCX("VProgram", 1),
ACF("AProgram", 2),
IFL("IProgram", 3);
ProgramType(final String name) {
this.name = name;
}
ProgramType(final String name, final int prio) {
this.name = name;
this.prio = prio;
}
还有更好的存储方式吗?
[另外,我不确定使用流获取getTopPrio方法的实现。 (我可以实现)
method: getTopPriority(List<> programTypeList) {
impl using streams??
}
getTopPriority
可以这样实现:
ProgramType getTopPriority(List<ProgramType> programTypeList) {
return programTypeList.stream().min(Comparator.comparing(ProgramType::getPrio)).orElse(...)
}