📜  寻找Java向量的最小元素

📅  最后修改于: 2022-05-13 01:55:24.065000             🧑  作者: Mango

寻找Java向量的最小元素

Vector 实现了一个动态数组,这意味着它可以根据需要增长或缩小。像数组一样,它包含可以使用整数索引访问的组件。我们知道两种声明数组的方法,即使用固定大小的数组或大小根据用户的需求输入,根据在内存中分配哪个数组。

int Array_name[Fixed_size] ;

int array_name[variable_size] ;

在这两种方式中,我们都会浪费内存,因此为了正确利用内存优化,引入了Vectors

我们需要找出给定Java向量中的最小元素

例子:

Input: [1,2,3,4,5]
Output: 1

Input: [88,23,76,90,56]
Output: 23

方法 1:使用预定义函数

  • 为了找到给定向量的最小元素,我们使用Java.util.Collections.min() 方法。
  • 这直接找到向量中的最小值。
Java
// Java program to find
// minimum element in java vector
  
import java.io.*;
import java.util.Collections;
import java.util.Vector;
public class GFG {
  
    public static void main(String args[])
    {
  
        Vector vec = new Vector();
  
        vec.add(1);
        vec.add(2);
        vec.add(3);
        vec.add(4);
        vec.add(5);
  
        System.out.println("Vector elements: " + vec);
        
        System.out.println("The maximum element of the Vector is: "
            + Collections.min(vec));
    }
}


Java
// Java program to find minimum element
// present in Vector via comparison
  
import java.io.*;
// Importing Iterator Class
import java.util.Iterator;
// Importing Vector Class
import java.util.Vector;
  
class GFG {
  
    // Main Method
    public static void main(String[] args)
    {
        // initializing vector of Integer type
        Vector v = new Vector();
  
        // Adding elements in vector
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
  
        // Assigning max value possible
        int minValue = Integer.MAX_VALUE;
  
        // Creating an iterator to traverse through vector
        // in the beginning itr will point to index just
        // before first element
        Iterator itr = v.iterator();
  
        // See if there is any next element
        while (itr.hasNext())
        {
            // Moving iterator to next element
            int element = (Integer)itr.next();
  
            // Comparing if element is smaller than minValue
            if (element < minValue) 
            {
                // Update maxValue
                minValue = element;
            }
        }
  
        // Print minVaue
        System.out.println("The smallest element present in Vector is : "
            + minValue);
    }
}



输出
Vector elements: [1, 2, 3, 4, 5]
The maximum element of the Vector is: 1

最坏情况时间复杂度:O(n) ,其中 n 是向量中存在的元素数。

方法 2:比较 Vector 中存在的每个元素

  • 首先,我们将初始化一个向量,假设是 v,然后我们将在该向量中存储值。
  • 接下来,我们将采用一个变量,让我们说minNumber并分配可能的最小值。
  • 遍历到向量的末尾并将向量的每个元素与 minNumber 进行比较。
  • 如果向量中存在的元素小于 minNumber,则将 minNumber 更新为该值。
  • 打印 minNumber。

Java

// Java program to find minimum element
// present in Vector via comparison
  
import java.io.*;
// Importing Iterator Class
import java.util.Iterator;
// Importing Vector Class
import java.util.Vector;
  
class GFG {
  
    // Main Method
    public static void main(String[] args)
    {
        // initializing vector of Integer type
        Vector v = new Vector();
  
        // Adding elements in vector
        v.add(10);
        v.add(20);
        v.add(30);
        v.add(40);
        v.add(50);
  
        // Assigning max value possible
        int minValue = Integer.MAX_VALUE;
  
        // Creating an iterator to traverse through vector
        // in the beginning itr will point to index just
        // before first element
        Iterator itr = v.iterator();
  
        // See if there is any next element
        while (itr.hasNext())
        {
            // Moving iterator to next element
            int element = (Integer)itr.next();
  
            // Comparing if element is smaller than minValue
            if (element < minValue) 
            {
                // Update maxValue
                minValue = element;
            }
        }
  
        // Print minVaue
        System.out.println("The smallest element present in Vector is : "
            + minValue);
    }
}


输出
The smallest element present in Vector is : 10

时间复杂度:O(n) ,其中 n 是向量中存在的元素数。