如何在 Vector 中找到包含最多元素的对象? 例如:
int[] val1 = {1,2,3};
int[] val2 = {1};
int[] val3 = {1,2};
Vector<Object> d = new Vector<Object>(); // update
c.add(val1);
c.add(val2);
c.add(val3);
int answ = findBiggest(c);
在此示例中,answ
应等于 0,因为 val1
包含 3 个数字。
最佳答案
我已经通过将数据类型更改为 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;
}
关于java - 在 Vector 中查找包含最多元素的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8698992/