假设我有一个简单的Person对象,它有三个字段:姓名(字符串)、年龄(字符串)和顺序(整数)。
然后,我创建一个Person对象列表(List personList),按姓名和年龄排序(在我的例子中是降序),但只初始化了order字段,如下所示:
“安德鲁”、“52”、“詹姆斯”、“34”、“詹姆斯”、“28”、“玛丽亚”、“19”、“
我的目标是用一个序列号来填充order字段,该序列号显示列表中的顺序,如下所示:
“八月”、“52”、1“詹姆斯”、“34”、2“詹姆斯”、“28”、3“玛丽亚”、“19”、4
我用一个简单的For循环实现了这个for(int i=0;i<personList.size();i++) { personList.get(i).setOrden(i+1); }
有没有更清洁/更有效的方法来做到这一点?
谢谢你。问候。
3条答案
按热度按时间2eafrhcq1#
你可以使用静态变量,它会一直增加,你可以把它分配给你的订单号。
或者更好的是,如果你把你的订单保存到Db中,那么初始化Db中的序列。
4nkexdtk2#
尝试使用API中的IntStream.range。
aurhwmvo3#
不需要API,for-each循环就足够了