我已經通過採取改變數據類型爲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