java - 在 Vector 中查找包含最多元素的对象

标签 java vector find

如何在 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/

相关文章:

c - 将指针存储在 vector 中

visual-studio - Visual Studio 查找和替换变量

bash - 为什么会找到。 -not -name ".*"不排除隐藏文件?

java - 运行soapui生成的axis2代码

java - 转换为unixtime : same input,不同的输出

java - 使用 Spring 进行测试时如何不连接到服务?

java - 无法将 Spring Boot 应用程序部署到 Azure

vector - 确定点列表是否适合 "formation"?

c++ - 为什么我的基类构造函数之一被删除? (C++11)

linux - 如何使用 -exec 查找和重命名所有文件