CodeGym /జావా బ్లాగ్ /యాదృచ్ఛికంగా /జావాలోని అర్రేకి కొత్త మూలకాన్ని ఎలా జోడించాలి
John Squirrels
స్థాయి
San Francisco

జావాలోని అర్రేకి కొత్త మూలకాన్ని ఎలా జోడించాలి

సమూహంలో ప్రచురించబడింది
ఓహ్, జావా శ్రేణులు. వారు వందలాది బిగినర్స్ సాఫ్ట్‌వేర్ డెవలపర్‌ల యొక్క తీవ్రమైన ప్రేమ మరియు ద్వేషానికి సంబంధించిన వస్తువు. ఇప్పటికే ప్రారంభించబడిన శ్రేణికి మూలకాలను జోడించడం అసాధ్యం, వారు చెప్పారు... వాస్తవానికి, ఇది సాధ్యమే, కానీ శాస్త్రీయ అర్థంలో కాదు... మరియు ఇది చాలా సౌకర్యవంతంగా లేదు. ఇప్పటికే ప్రారంభించబడిన శ్రేణికి కొత్త మూలకాలను జోడించడం ఒక రకమైన ట్రిక్. అయితే, ఈ ట్రిక్స్ ఇంటర్వ్యూలో మరియు కొన్నిసార్లు ప్రోగ్రామర్ ఉద్యోగంలో ఉపయోగపడతాయి. మీరు డేటా రకాన్ని ఉపయోగించడాన్ని ఆస్వాదిస్తున్నారని మరియు దానిని సమర్థవంతంగా ఎలా చేయాలో తెలుసుకోవడానికి, మేము జావా శ్రేణికి కొత్త మూలకాన్ని జోడించడంపై గైడ్‌ని వ్రాసాము. సిద్ధాంతం మరియు కోడ్ నమూనాలను జాగ్రత్తగా పరిశీలించడం కాకుండా, పోస్ట్‌లో ప్రదర్శించబడిన అభ్యాస సమస్యలను తప్పకుండా తనిఖీ చేసి పూర్తి చేయండి. జావాలోని అర్రేకి కొత్త మూలకాన్ని ఎలా జోడించాలి - 1

జావాలో అర్రే అంటే ఏమిటి

అర్రే అంటే ఏమిటి మరియు దానిని జావాలో ఎలా సృష్టించాలో గుర్తుచేసుకుందాం. మీరు దానిని గుర్తుంచుకుంటే, "జావా శ్రేణులకు కొత్త మూలకాలను జోడించడానికి 5 మార్గాలు" తదుపరి ఉపశీర్షికకు వెళ్లడానికి సంకోచించకండి. ఒరాకిల్ యొక్క అధికారిక జావా డాక్యుమెంటేషన్ ప్రకారం, శ్రేణులు ఒకే డేటా రకానికి చెందిన విలువల శ్రేణి. పూర్ణాంకాల సమితి జావాలోని శ్రేణికి సరైన ఉదాహరణ . మీరు నిర్వచించే అన్ని విలువలు సూచిక అని పిలువబడే శ్రేణిలో నిర్దిష్ట స్థానాన్ని కలిగి ఉంటాయి . శ్రేణులను ప్రకటించడానికి మరియు ప్రారంభించే మార్గాలు ఇక్కడ ఉన్నాయి:

int[] myArray = new int[10];
int[] myArray1 = {1, 0, 3, 17, 5, 6, 7, 8, 9, 10}
మొదటి సందర్భంలో, మేము శ్రేణి myArrayని నిర్వచించాము మరియు 10 మూలకాల శ్రేణి కోసం జావాను కేటాయించాము, రెండవ myArray1 లో , మేము వెంటనే 10 విలువలను నమోదు చేసాము. ఏదైనా సందర్భంలో, మూలకం 11 కేవలం శ్రేణిలోకి నెట్టబడదు. శ్రేణులతో కార్యకలాపాలను నిర్వహించడానికి, డెవలపర్‌లు శ్రేణిని కలిగి ఉన్న విలువల సూచికలను తారుమారు చేస్తారు. మనం ఏం చెయ్యాలి? శ్రేణికి జోడించడానికి అత్యంత సాధారణ మార్గాలను పరిశీలిద్దాం.

జావా శ్రేణులకు కొత్త మూలకాలను జోడించడానికి 5 మార్గాలు

సరే, ఇక్కడ మార్పులేని వాటిని మార్చగలిగేలా చేయడానికి మా ట్రిక్స్.
  • శ్రేణిని జాబితాగా మార్చండి
  • పెద్ద సామర్థ్యంతో కొత్త శ్రేణిని సృష్టించండి మరియు శ్రేణికి కొత్త మూలకాన్ని జోడించండి
  • System.arraycopy()ని అమలు చేస్తోంది
  • అపాచీ కామన్స్ ఉపయోగించి శ్రేణులను కాపీ చేస్తోంది
  • ArrayCopyOf() పద్ధతిని వర్తింపజేస్తోంది
శ్రేణికి మూలకాన్ని జోడించడానికి ఈ మార్గాలను నిశితంగా పరిశీలిద్దాం.

1. శ్రేణిని జాబితాగా మార్చడం

మేము నేరుగా శ్రేణికి కొత్త మూలకాన్ని జోడించలేము కాబట్టి, వాటిని జాబితాలుగా మార్చడం, కొత్త మూలకాలను జోడించడం మరియు విలువలను తిరిగి శ్రేణులకు మార్చడం. శ్రేణిని జాబితాగా మార్చడానికి మొదటి మార్గం కొత్త అర్రేలిస్ట్‌ని సృష్టించడానికి asList()ని ఉపయోగించడం. విలువల పరిధి విజయవంతంగా రూపాంతరం చెందిన తర్వాత, విలువను చొప్పించడానికి ListAdd()ని ఉపయోగించండి. ఒకసారి మీరు శ్రేణిని సవరించాల్సిన అవసరం లేదు, toArray() పద్ధతి సహాయంతో తిరిగి అసలు డేటా రకానికి మార్చండి . అన్ని పద్ధతులు మరియు మార్పిడులతో, ఇది మొదట గందరగోళంగా అనిపించవచ్చు. విషయాలను క్లియర్ చేయడానికి asList()ని ఉపయోగించే ఉదాహరణను చూద్దాం .

// Code for adding Java arrays to a program
import java.lang.*;
import java.util.*;
 
class ArrayDemo{
   //Let’s add a new element to an array
   public static Integer[] addX(Integer myArray[], int x) {
       int i;
       //turn array into ArrayList using asList() method
       List arrList = new ArrayList( Arrays.asList(myArray));
 
       // adding a new element to the array
       arrList.add(x);
 
       // Transforming the ArrayList into an array
       myArray = arrList.toArray(myArray);
       return myArray;
   }
   public static void main(String[] args) {
       int i;
       //initial array
       Integer myArray[] = { 0, 1, 2, 45, 7, 5, 17};
 
       //print the initial array out
       System.out.println("Initial Array: "
                          + Arrays.toString(myArray));
 
       //element to be added
       int x = 28;
 
       // call the method to add x in myArray
       myArray = addX(myArray, x);
 
       // print the updated array out
       System.out.println("Array with " + x + " added: "
                          + Arrays.toString(myArray));
   }
}
అవుట్‌పుట్:
ప్రారంభ శ్రేణి: [0, 1, 2, 45, 7, 5, 17] 28తో శ్రేణి జోడించబడింది: [0, 1, 2, 45, 7, 5, 17, 28]
కాబట్టి, ప్రోగ్రామ్‌లో మేము 7 విలువలతో కూడిన శ్రేణి myArrayని విజయవంతంగా సృష్టించాము , దానిని పూరించాము మరియు దానిని ముద్రించాము. అప్పుడు మాకు పది విలువలు సరిపోవని నిర్ణయించుకున్నాము. సరే, మేము Arrays.asList పద్ధతిని ఉపయోగించి myArrayని ArrayList arrListగా మార్చాము . ఇక్కడ 28 ఉంది, జోడించాల్సిన మూలకం. మేము దానిని ArrayList arrList కి జోడించాము, ఆపై దానిని toArray() పద్ధతిని ఉపయోగించి తిరిగి శ్రేణికి మార్చాము మరియు కొత్త శ్రేణిని ముద్రించాము.

2. పెద్ద సామర్థ్యంతో కొత్త శ్రేణిని సృష్టించండి

శ్రేణికి మరిన్ని మూలకాలను జోడించడానికి అత్యంత సాధారణ మార్గాలలో ఒకటి, మొదటి నుండి కొత్త, పెద్ద, శ్రేణిని సృష్టించడం, పాత వాటిని ఉంచడం మరియు కొత్త మూలకాలను జోడించడం. ప్రక్రియ యొక్క దశల వారీ నడక ఇక్కడ ఉంది:
  • a+n సామర్థ్యంతో కొత్త శ్రేణిని సృష్టించండి (a — అసలు శ్రేణి సామర్థ్యం, ​​n — మీరు జోడించాలనుకుంటున్న మూలకాల సంఖ్య).
  • మునుపటి డేటా పరిధిలోని అన్ని మూలకాలను కొత్తదానికి, అలాగే కొత్త విలువలకు జోడించండి.
  • ఫలిత శ్రేణిని ముద్రించండి.
అటువంటి శ్రేణిని మీ స్వంతంగా సృష్టించడానికి ప్రయత్నించండి మరియు దిగువ ఉదాహరణలో మీ కోడ్‌ని సరిపోల్చండి:

// Java Program to add an element in an Array

import java.lang.*;
import java.util.*;

class ArrayDemo {
   //Method to add an element x into array myArray
   public static int[] addX(int myArray[], int x) {
       int i;

       // create a new array of a bigger size (+ one element)
       int newArray[] = new int[myArray.length + 1];

       // insert the elements from the old array into the new one
       for (i = 0; i < myArray.length; i++)
           newArray[i] = myArray[i];

       newArray[myArray.length] = x;
       return newArray;
   }

   public static void main(String[] args) {
       int i;

       // initial array of size 10
       int arr[]
               = {0, 1, 2, 45, 7, 5, 17};

       // print the initial array
       System.out.println("Initial Array: " + Arrays.toString(arr));

       // element to be added
       int x = 28;

       // call the addX method to add x in arr
       arr = addX(arr, x);
       // print the updated array
       System.out.println("Array with " + x + " added:" + Arrays.toString(arr));
   }
}
అవుట్‌పుట్:
ప్రారంభ శ్రేణి: [0, 1, 2, 45, 7, 5, 17] 28తో శ్రేణి జోడించబడింది:[0, 1, 2, 45, 7, 5, 17, 28]
సరే, శ్రేణిలో కొత్త మూలకాన్ని జోడించడానికి ఈ మార్గం సులభమయినది.

3. System.arrayCopy()ని వర్తింపజేయడం

System.arrayCopy() అనేది మూలాధార శ్రేణి యొక్క గమ్యస్థానంలో పెద్ద శ్రేణిని కేటాయించడానికి విస్తృతంగా ఉపయోగించే పద్ధతి. డెవలపర్ పద్ధతి యొక్క బ్రాకెట్లలో కొత్త శ్రేణికి కాపీ చేయాలనుకుంటున్న క్రమాన్ని పేర్కొనవచ్చు. పద్ధతి ఎలా పనిచేస్తుందో చూడటానికి మరియు మీ కోసం దాన్ని ఉపయోగించడాన్ని ప్రయత్నించండి, పరిశీలించి, దిగువ ఉదాహరణను అమలు చేయడానికి ప్రయత్నించండి:

import java.util.Arrays;

class ArrayDemo {
   private static Integer[] addElement(Integer[] myArray, int newElement) {
       //we create a new Object here, an array of bigger capacity 
       Integer[] array = new Integer[myArray.length + 1];
       System.arraycopy(myArray, 0, array, 0, myArray.length);
       array[myArray.length] = newElement;
       return array;
   }

   public static void main(String[] args) {
       Integer[] myArray = {20, 21, 3, 4, 5, 88};
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
       myArray = addElement(myArray, 12);
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
   }
}
అవుట్‌పుట్:
కొత్త మూలకాన్ని జోడించే ముందు myArray: [20, 21, 3, 4, 5, 88] కొత్త మూలకాన్ని జోడించే ముందు myArray: [20, 21, 3, 4, 5, 88, 12]
ఇక్కడ మేము ఒక శ్రేణిని సృష్టించాము myArray , దానిని ప్రింట్ చేసి, System.arrayCopy() లో నిర్మించబడిన మా addElement పద్ధతిని ఉపయోగించి కొత్త మూలకాన్ని జోడించాము .

4. శ్రేణులను కాపీ చేయడానికి Apache Commonsని ఉపయోగించడం

ప్రామాణికం కాని మార్గాన్ని ఉపయోగిస్తాము. అవి, థర్డ్-పార్టీ లైబ్రరీ Apache Commons lang. ఇది అపాచీ కామన్స్ ప్రాజెక్ట్‌లో ఒక భాగం, ఇది పునర్వినియోగ జావా భాగాల యొక్క అన్ని అంశాలపై దృష్టి పెట్టింది. ప్రాజెక్ట్ గురించి జ్ఞానం నిరుపయోగంగా ఉండదు. Apache Commons lang శ్రేణులను విస్తరించడానికి ప్రత్యేకంగా రూపొందించిన యాడ్() పద్ధతిని కలిగి ఉంది , ఇది కోడర్‌లకు చాలా సమయం మరియు కృషిని ఆదా చేస్తుంది. ఈ Apache Commons add() పద్ధతి మీరు ఒక గమ్మత్తైన పరీక్ష లేదా ఇంటర్వ్యూ ప్రశ్నకు సమాధానం ఇవ్వవలసి వస్తే System.arraycopy() పద్ధతికి కాల్ చేయడంపై ఆధారపడి ఉంటుందని గుర్తుంచుకోండి . మీ ప్రాజెక్ట్‌లో లైబ్రరీలను జోడించడానికి Apache Commons వెబ్‌సైట్‌కి వెళ్లి లైబ్రరీలను డౌన్‌లోడ్ చేయండి. ఆపై ఫైల్ → ప్రాజెక్ట్ స్ట్రక్చర్ → లైబ్రరీలు > +కి వెళ్లి డౌన్‌లోడ్ చేసిన జార్ ఫైల్‌లను ఎంచుకోండి.

import org.apache.commons.lang3.ArrayUtils;
import java.util.Arrays;

class ArrayDemo {
   private static <T> T[] append(T[] arr, T element) {
       return ArrayUtils.add(arr, element);
   }

   public static void main(String[] args) {
       Integer[] myArray = { 0, 1, 2, 3, 4};
       System.out.println("myArray: " + Arrays.toString(myArray));

       myArray = append(myArray, 5);
       System.out.println("new Array with the number added: " + Arrays.toString(myArray));
   }
}
అవుట్‌పుట్:
myArray: [0, 1, 2, 3, 4] జోడించిన సంఖ్యతో కొత్త శ్రేణి: [0, 1, 2, 3, 4, 5]

5. ArrayCopyOf()ని అమలు చేస్తోంది

ArrayCopyOf() అనేది శ్రేణికి కొత్త మూలకాన్ని జోడించడానికి మరొక పద్ధతి. అపాచీ కామన్స్ లాంగ్ యాడ్() వంటివి అంతర్గతంగా ఈ ఆపరేషన్ చేయడానికి System.arraycopy() అని పిలుస్తుంది . అయినప్పటికీ చాలా మంది డెవలపర్‌లు ArrayCopyOf()ని ఇష్టపడతారు, ఎందుకంటే ఇది కోడ్‌ను సంక్షిప్తంగా మరియు చదవగలిగేలా ఉంచడానికి అనుమతిస్తుంది. శ్రేణికి కొత్త మూలకాలను జోడించడానికి ArrayCopyOf() ని ఉపయోగించే ఉదాహరణ ఇక్కడ ఉంది :

import java.util.Arrays;
class ArrayDemo {
   private static <X> X[] addElement(X[] myArray, X element) {
       X[] array = Arrays.copyOf(myArray, myArray.length + 1);
       array[myArray.length] = element;
       return array;
   }
   public static void main(String[] args) {
       Integer[] myArray = {20, 21, 3, 4, 5, 88};
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
       myArray = addElement(myArray, 12);
       System.out.println("myArray before adding a new element: " + Arrays.toString(myArray));
   }
}
అవుట్‌పుట్:
కొత్త మూలకాన్ని జోడించే ముందు myArray: [20, 21, 3, 4, 5, 88] కొత్త మూలకాన్ని జోడించే ముందు myArray: [20, 21, 3, 4, 5, 88, 12]

ముగింపు

శ్రేణికి ఎలిమెంట్‌లను ఎలా జోడించాలో తెలుసుకోవడం డెవలపర్‌లు పాత కోడ్‌ని దాని ఫంక్షనాలిటీ మరియు రీడబిలిటీని త్యాగం చేయకుండా త్వరగా అప్‌డేట్ చేయడంలో సహాయపడుతుంది... లేదా ఇంటర్వ్యూలో ఉత్తీర్ణత సాధించడానికి. జావా శ్రేణులకు మూలకాలను జోడించడానికి వివిధ మార్గాలు ఉన్నందున, మీరు సౌకర్యవంతంగా ఉండే పద్ధతిని ఎంచుకోవడానికి సంకోచించకండి.
వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION