我已经通过采取改变数据类型为ArrayList中,我相信这是你本来想要的东西..的自由回答了这个
我也改变了泛型类型为Integer []过。因为我相信自动装箱有一个额外的开销,我认为这是一个很小但很好的做法? (任何人都可以证实这一点?)
public static void main(String[] args) {
Integer[] val1 = {1,2,3};
Integer[] val2 = {1,2,3,3,3};
Integer[] val3 = {1,2};
ArrayList<Integer[]> c = new ArrayList<Integer[]>();
c.add(val1);
c.add(val2);
c.add(val3);
int answ = findBiggest(c);
System.out.println(answ);
}
public static int findBiggest(ArrayList<Integer[]> list){
int biggestSize = 0
int biggestPos = -1;
int i = 0;
for(Integer[] el : list){
if(el.length >= biggestSize){
biggestSize = el.length;
biggestPos = i;
}
i++;
}
return biggestPos;
}
Integer!= int [] .......你得到编译器错误! – 2012-01-02 09:00:06
你到目前为止尝试过什么?比较数字或获取矢量大小或定义类和方法时,您遇到问题吗? – 2012-01-02 09:00:54
您的示例代码会产生编译器错误。向量c只需要整数,而不是int [] ..即使自动装箱也不会对此产生帮助 – AlanFoster 2012-01-02 09:01:35