甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-代码广告位
甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-代码官方的gravatar头像

幸运飞艇的精准计划_java将List的数据转换为N列的算法演变

甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-近遇到一个安卓客户端的需求,需要将服务端返回的json list的数据转换为n列m行的需求,算法有几次迭代,总算趋于完美,给牛牛们分享下:

转换为2列的算法:

Column column = null;
for (int i = 0; i < items.size(); i++) {
	Item _item = items.get(i);
	if (i % 2 == 0) {
		column = new Column();
		column.setColumn1(_item);
		columns.add(column);
	} else {
		column.setColumn2(_item);
	}

}

for (int i = 0; i < columns.size(); i++) {
	System.out.println(columns.get(i));
}

运行结果:

----------------
1 2
3 4
5 6
7 8
9
----------------

2.转换为3列的算法:

List<Column3> column3s = new ArrayList<Column3>();

Column3 column3 = null;
for (int i = 0; i < items.size(); i++) {
	Item _item = items.get(i);
	int idx = i % 3;// 算余数
	int div = i / 3;// 算商
	if (idx == 0) {
		column3 = new Column3();
		column3.setColumn1(_item);
		column3s.add(column3);
	} else {
		column3 = column3s.get(div);
		idx++;// 偏移1
		if (idx == 2) {
			column3.setColumn2(_item);
		} else if (idx == 3) {
			column3.setColumn3(_item);
		}
	}

}

for (int i = 0; i < column3s.size(); i++) {
	System.out.println(column3s.get(i));
}

System.out.println("----------------");

运行结果:

----------------
1 2 3
4 5 6
7 8 9
----------------

3.转换为n列的算法:

List<ColumnN> columnNs = new ArrayList<ColumnN>();

int n = 4;//列数,可以随意指定
ColumnN columnN = null;
for (int i = 0; i < items.size(); i++) {
	Item _item = items.get(i);
	int idx = i % n;// 算余数
	int div = i / n;// 算商
	if (idx == 0) {
		columnN = new ColumnN(n);
		columnN.getColumnNs().add(0, _item);
		columnNs.add(columnN);
	} else {
		columnN = columnNs.get(div);
		columnN.getColumnNs().add(idx, _item);
	}

}

for (int i = 0; i < columnNs.size(); i++) {
	System.out.println(columnNs.get(i));
}

运行结果:
----------------
1 2 3 4
5 6 7 8
9

----------------

完整算法请下载文件。

甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-代码广告位

打赏

文件名:Main.java,文件大小:4.336K下载
甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-代码甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-近下载分享源代码列表甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-近下载
aisuzhen LV109月17日
月亮月亮星星星星
李豪lihao LV32018年9月4日
星星星星星星
onemee LV332018年9月4日
太阳太阳星星
ReynLi LV82018年5月7日
月亮月亮
jic499 LV272018年4月14日
太阳月亮月亮星星星星星星
hahahaa LV52018年1月16日
月亮星星
lyh1989 LV342017年11月18日
太阳太阳星星星星
der2030 LV172017年8月3日
太阳星星
lzyjava LV92017年2月10日
月亮月亮星星
Lan鱼儿 LV22016年6月3日
星星星星
甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-代码甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-近浏览分享源代码列表甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-近浏览
h380312512月12日
暂无贡献等级
一抹微笑12月10日
暂无贡献等级
wfqdxdx LV612月5日
月亮星星星星
我要赚钱 LV611月24日
月亮星星星星
hhuangh LV411月21日
月亮
wangyakun815 LV1611月20日
太阳
有所问 LV711月9日
月亮星星星星星星
summerxp LV111月5日
星星
kahar0101 LV1011月3日
月亮月亮星星星星
chadzhang LV210月30日
星星星星
甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-代码广告位
顶部客服微信二维码底部
>扫描二维码关注甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-代码为好友扫描二维码关注甘肃快乐10遗漏数据_甘肃快乐10走势图遗漏_花少钱中大奖-代码为好友