2 tcpipstack tcpipstack 于 2015.06.08 11:15 提问

请教下如何按照一定比例几个list的数据添加到一个list中,使得最终数据呈比例排列呢? 5C

请教下一个算法问题,有个final Arraylist,取名为f吧,有3个a, b, c list,里面的数据分别是30, 10, 30。

现在需要按照3:2:1的比例将a, b, c list里面的数据添加到f list中去,final list里面的数据要变成aaa bb c aaa bb c 。。。。这种按比例排列方式。

a, b, c这3个list的数据,不一定同时来的。可能a数据来了,然后来了b数据,再来了c数据,但只要按照这种组合成功就行。

请教下各位大神。谢谢

3个回答

caozhy
caozhy   Ds   Rxr 2015.06.08 11:22

for (int i = 0; i < 10; i++)
{
f.Add(a.get(i * 3));
f.Add(a.get(i * 3 + 1));
f.Add(a.get(i * 3 + 2));
f.Add(b.get(i * 2));
f.Add(b.get(i * 2 + 1));
f.Add(c.get(i));
}

tcpipstack
tcpipstack 不行啊,我这个数据不是同时加的。a, b, c来的顺序不一致,不会同时来的。
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.06.08 11:37

那就用死循环阻塞住,等来了继续执行

tcpipstack
tcpipstack 方法太笨,不可行
2 年多之前 回复
qq_28848705
qq_28848705   2015.06.08 11:43

for (int i = 0; i < 10; i++)
{
f.Add(a.get(i * 3));
f.Add(a.get(i * 3 + 1));
f.Add(a.get(i * 3 + 2));
f.Add(b.get(i * 2));
f.Add(b.get(i * 2 + 1));
f.Add(c.get(i));
}

Csdn user default icon
上传中...
上传图片
插入图片