按位置索引对象的属性

时间:2013-11-17 04:01:19

标签: java arrays

我有这个包含不同对象数组的对象:

long [] arr_1 = {1,2,3,4,5,6};
int [] arr_2 = {1,2,3,4,5,6};
double [] arr_3 = {1.0,2.0,3.0,4.0,5.0,6.0};
String [] arr_4 = {"1","2","3","4","5","6"};
Grouping obj = new Grouping(arr_1, arr_2, arr_3, arr_4);

然后我有一个名为Grouping的类,它存储这4个不同的数组:

public class Grouping(){

    private long [] a;
    private int [] b;
    private double [] c;
    private String [] d;

    public Grouping(long [] a, int [] b, double [] c, String [] d){
        this.a = a; this.b = b; this.c = c; this.d = d;
    }
}

现在我想将它发送到for循环并比较数组内部的值。

注意:“比较(obj [j]到obj [k])不起作用,这就是我需要帮助的行。

    for (int j=0; j<4; j++){
        for (int k=0; k<4; k++){
             compare(obj[j] to obj[k]);
         }
     }

如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

尝试在另一个数据结构中添加a,b,c和d。 例如,如果使用ArrayList(或其他List),则可以使用方法get(int index)来获取所需索引。

答案 1 :(得分:0)

如果您没有.方法

,则需要使用get表示法
for (int j=0; j < obj.a.length ; j++){

    obj.compare(obj.a[j], obj.b[j]);

}

这假设Groupingcompare方法。我没有使用compare方法的上下文。

我甚至不确定这个循环的位置,是在Grouping类中还是在Grouping实例化之后。

你不能只调用不存在的比较方法。你需要这样的东西

for (int j = 0; j < obj.a.length; j++){

    if (obj.a[j] == obj.b[j]){
        // do something
    }

}