我需要一些提示: 我可以说一个列表或一系列年份
int startYear = 2010;
int endYear = 2050;
我有一个枚举,其中字母和数字作为年份代码。
I need this for Barcode generation where i have a timestamp that need to be coded into 3 digits/letters, so i need to map year month and day to a code position.
我需要做的是将年份序列映射到代码列表到键(年份数字)和值(年份代码)的 HashMap 中,
但显然代码列表不像年份序列那么长,所以我需要检查何时到达最后一个索引,如果是,我需要重新循环代码列表,直到到达年份序列结束。
我需要实现的是:
year code
2012 C
2013 D
.
.
2030 Y
2031 1
.
.
2039 9
2040 A
等等...
不幸的是,我不知道如何做到这一点,因为我对java还很陌生,所以如果有人能给我一些建议,我将不胜感激。
最佳答案
只需使用%
运算符即可计算代码索引
List years = ...
List codes = ...
for (int i = 0, yearsSize = years.size(), codesSize = codes.size(); i < yearsSize; i++) {
map.put(years.get(i), codes.get(i % codesSize));
}
关于Java将两个不同大小的List合并为HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38893014/