📜  从向量中获取最大元素的Java程序

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

从向量中获取最大元素的Java程序

先决条件: Java中的向量

为什么我们使用矢量?

到现在为止,我们已经学习了两种声明方式,一种是使用固定大小的数组声明,另一种是根据用户的需求根据内存中分配的数组大小来进行声明。

int Array_name[Fixed_size] ;
int array_name[variable_size] ;

引入了两种浪费内存的方法,以便正确利用内存优化向量。

使用向量的优势

  • 动态尺寸
  • 丰富的库函数
  • 容易知道的尺寸
  • 无需传递大小
  • 可以从函数返回
  • 默认使用默认值初始化

丰富的库函数包括

  1. 查找元素
  2. 擦除元素
  3. 插入元素

在这里,我们使用丰富的库函数来获取最大元素。

注意:数组始终作为数组中的指针传递,因此您必须传递数组大小的另一个参数,但在向量的情况下不需要。

句法 :

在数组的情况下

type function_Name(type arrayName[], type sizeOfArray) ;

在向量的情况下

type function_Name(vector vectorName) ;

考虑给定向量的示例,任务是找到最大元素。

例子:

方法 1:使用预定义函数

  • 首先我们将初始化一个向量,比如 v,然后我们将在该向量中存储值。
  • 之后我们将调用类Java.util.Collections中定义的名为max()的预定义方法。
  • 打印最大元素。

下面是上述方法的实现。

Java
// Java Program to find maximum element
// in a vector using predefined method
  
import java.io.*;
 
// Importing Vector Class
import java.util.Collections;
 
// Importing Vector Class
import java.util.Vector;
 
class GFG {
   
    // Main Method
    public static void main(String[] args)
    {
        // initializing a Vector
        Vector v = new Vector();
       
        // adding values to the Vector
        v.add(7);
        v.add(50);
        v.add(0);
        v.add(67);
        v.add(98);
       
        // finding the largest element
        int n = Collections.max(v);
       
        // printing the largest element
        System.out.println(
            "The maximum value present in Vector is : "
            + n);
    }
}


Java
// Java program to find largest element
// present in Vector via comparison
 
import java.io.*;
 
// Importing Vector Class
import java.util.Vector;
 
// Importing Iterator Class
import java.util.Iterator;
 
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(1);
        v.add(2);
        v.add(3);
        v.add(4);
        v.add(5);
       
        // Assigning min value possible
        int maxValue = Integer.MIN_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 larger than maxValue
            if (element > maxValue)
            {
                // Update maxValue
                maxValue = element;
            }
        }
       
        // Print maxVaue
        System.out.println(
            "The largest element present in Vector is : "
            + maxValue);
    }
}


输出 :

The maximum value present in Vector is : 98

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

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

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

下面是上述方法的实现。

Java

// Java program to find largest element
// present in Vector via comparison
 
import java.io.*;
 
// Importing Vector Class
import java.util.Vector;
 
// Importing Iterator Class
import java.util.Iterator;
 
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(1);
        v.add(2);
        v.add(3);
        v.add(4);
        v.add(5);
       
        // Assigning min value possible
        int maxValue = Integer.MIN_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 larger than maxValue
            if (element > maxValue)
            {
                // Update maxValue
                maxValue = element;
            }
        }
       
        // Print maxVaue
        System.out.println(
            "The largest element present in Vector is : "
            + maxValue);
    }
}

输出 :

The largest element present in Vector is : 5

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