Java >> Java tutorial >  >> Java

Java-program til at indsætte et element på en specificeret position i et array

I denne øvelse lærer vi, hvordan du tilføjer et element til en given position i et array. Den nemmeste måde at gøre dette på er ved at flytte elementerne og derefter indsætte elementet på en bestemt position. Men før du går videre, hvis du ikke er bekendt med begreberne for arrayet, så tjek artiklen Arrays in Java.

Input:

Original Array:5 7 2 3 1 5 6 8

Element:55

Position:2

Output: 5 7 55 2 3 1 5 6 8

Program 1:Tilføj et element i en given position i et array

I denne tilgang vil vi bruge loops til at indsætte et element på en bestemt position.

Algorithme

  1. Start
  2. Deklarer et array
  3. Initialiser arrayet.
  4. Erklær det element, der skal indsættes, og placer, hvor det skal indsættes.
  5. Deklarer et nyt array med +1-størrelse.
  6. Brug en for-løkke til at gå gennem hvert element.
  7. Indsæt først alle elementer til positionen.
  8. Indsæt derefter elementet på den specifikke position.
  9. Indsæt resten af ​​elementerne.
  10. Returner det nye array.
  11. Udskriv det opdaterede array.
  12. Stop.

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man tilføjer et element på en bestemt position i et array ved hjælp af loops.

/*Java Program to add an element in an Array at a specific position*/

import java.util.Arrays; 
import java.util.Scanner;

public class Main
{
    //Method to add an element in the given specific position
    public static int[] addElement(int n, int arr[], int ele, int pos) 
    { 
        int i; 
  
        // create a new array of size n+1 
        int newarr[] = new int[n + 1]; 
  
        // insert the elements from the old array into the new array 
     
        for (i = 0; i < n + 1; i++) 
        { 
            if (i < pos - 1) 
                newarr[i] = arr[i];  // insert all elements till position 
            else if (i == pos - 1) 
                newarr[i] = ele;        // then insert element at specific position 
            else
                newarr[i] = arr[i - 1]; // then insert rest of the elements
        } 
        return newarr; 
    } 
  
  
    //Driver Method
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        
        int n;    //Array Size Declaration
        System.out.println("Enter the number of elements :");
        n=sc.nextInt();    //Array Size Initialization
        
        int arr[]=new int[n];    //Array Declaration
        System.out.println("Enter the elements of the array :");
        for(int i=0;i<n;i++)     //Array Initialization
        {
            arr[i]=sc.nextInt();
        }
        System.out.println("Enter the elements you want to insert :");
        int ele = sc.nextInt(); 
     
        // Position to insert 
        System.out.println("Enter the position where you want to insert :");
        int pos = sc.nextInt(); 
      
        arr = addElement(n, arr, ele, pos); 
  
        // print the updated array 
        System.out.println("\nArray with " + ele  + " inserted at position " + pos + ":\n" + Arrays.toString(arr)); 
        
    }
}


Indtast antallet af elementer:10
Indtast elementerne i arrayet:8 7 6 9 5 3 4 1 2 9
Indtast de elementer, du vil indsætte:22
Enter positionen hvor du vil indsætte:2

Array med 22 indsat ved position 2:
[8, 22, 7, 6, 9, 5, 3, 4, 1, 2, 9]

Program 2:Tilføj et element i en given position i et array

I denne tilgang vil vi konvertere arrayet til en arrayliste for at indsætte et element på en bestemt position.

Algorithme

  1. Start
  2. Deklarer et array
  3. Initialiser arrayet.
  4. Erklær det element, der skal indsættes, og placer, hvor det skal indsættes.
  5. Deklarer en separat metode, der vil indsætte elementet.
  6. Konverter arrayet til arraylisten.
  7. Tilføj elementet på positionen.
  8. Konverter listen tilbage til arrayet.
  9. Udskriv nu det originale array.
  10. Vis det opdaterede array.
  11. Stop.

Nedenfor er koden til det samme.

Nedenstående program viser, hvordan man tilføjer et element på en bestemt position i et array ved hjælp af Array Lists.

/*Java Program to add an element in an Array at a specific position*/

import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.List;
import java.util.Scanner;
import java.util.Collections;

public class Main
{
    //Method to add an element in the given specific position
    private static void addElement(Integer[] arr, int element, int position) 
    { 
        // Coverting array to ArrayList 
        List<Integer> list = new ArrayList<>(Arrays.asList(arr)); 
          
        // Adding the element at position 
        list.add(position - 1, element); 
          
        // Converting the list back to array 
        arr = list.toArray(arr); 
  
        // Printing the original array 
        System.out.println("Initial Array:\n" + Arrays.toString(arr)); 
  
        // Printing the updated array 
        System.out.println("\nArray with " + element + " inserted at position "+ position + ":\n" + Arrays.toString(arr)); 
    } 
  
    //Driver Method
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        
        int n;    //Array Size Declaration
        System.out.println("Enter the number of elements :");
        n=sc.nextInt();    //Array Size Initialization
        
        Integer arr[]=new Integer[n];    //Array Declaration
        System.out.println("Enter the elements of the array :");
        for(int i=0;i<n;i++)     //Array Initialization
        {
            arr[i]=sc.nextInt();
        }
        System.out.println("Enter the elements you want to insert :");
        int ele = sc.nextInt(); 
     
        // Position to insert 
        System.out.println("Enter the position where you want to insert :");
        int pos = sc.nextInt(); 
      
        // Calling the function to insert 
        addElement(arr, ele, pos); 
        
    }
}


Indtast antallet af elementer:
10
Indtast elementerne i arrayet:
4 5 3 6 8 9 1 2 7 6
Indtast de elementer, du vil indsæt :
21
Indtast den position, hvor du vil indsætte:
2
Initial Array:
[4, 5, 3, 6, 8, 9, 1 , 2, 7, 6]

Array med 21 indsat i position 2:
[4, 21, 5, 3, 6, 8, 9, 1, 2, 7, 6]


Java tag