我需要交错2个浮点数组,浮点数,字符串并将它们放在一个列表中。
float[] array1;
float[] array2;
float value1;
float value2;
string name1;
string name2;
在输出中的内容如下:
{array1[i], array2[i], "name1", value1, value2, "name2", value1, value....}
这可能在java?
好吧我正在尝试这个但它不会工作:
static Object[] dumoToCurve(final float[] x, final float[] y) {
final Object[] output = new Object[x.length * 2];
float value= 1;
for (int i=0; i < x.length; i++){
output[i << 1] = x[i];
output[(i << 1) + 1] = y[i];
output[(i << 1) + 2] = "b0";
output[(i << 1) + 3] = x[i]+value;
output[(i << 1) + 4] = y[i]+value;
output[(i << 1) + 5] = "b1";
}
return output;
}
我需要演员吗?如何?
答案 0 :(得分:1)
我不知道你的数据结构代表什么,但是将它建模为一个类更好吗?例如:
// completely made up class
class Player {
...
private float[] latitudeHistory;
private float[] longitudeHistory;
private float currentLatitude;
private float currentLongitude;
private String playerName;
}
答案 1 :(得分:1)
以下是您编辑的答案。我面前没有Java编译器来测试它。所以我不确定它是否会起作用。此外,我认为其中一些可以通过自动(非)拳击简化。
for (int i=0; i < x.length; i++){
output[ i << 1 ] = new Float(x[i]);
output[(i << 1) + 1] = new Float(y[i]);
output[(i << 1) + 2] = "b0";
output[(i << 1) + 3] = new Float(x[i] + value);
output[(i << 1) + 4] = new Float(y[i] + value);
output[(i << 1) + 5] = "b1";
}
从数组中提取float
值:
float val = ((Float)output[0]).floatValue();
如果演员表失败,它会给你一个例外。
最后,您可能想要考虑不同的设计模式。
答案 2 :(得分:0)
是的,是的, 只需将其放入对象数组
即可Object[] myObjects = new Object[] {array1[i], array2[i], "name1", value1, value2, "name2", value1, value....};
答案 3 :(得分:0)
烨。
这是一个例子
int i = 4;
long j = 323232333;
String k = "dadasdad";
char c = 'a';
Object [] x = {c,i,j,k};
for( Object z : x){
System.out.println(z);
}