"హలో, నా చాలా తెలివైన విద్యార్థి!"
"హలో, రిషీ!"
"మీరు శ్రేణుల గురించి కొత్త చర్చ కోసం ఆసక్తి చూపుతున్నారా? సరే, ఈ రోజు మేము మీ కోసం ఒకదాన్ని కలిగి ఉన్నాము! ఈ రోజు నేను మీకు బెల్లం మరియు బహుళ డైమెన్షనల్ శ్రేణుల గురించి చెప్పబోతున్నాను."
"రక్తపిపాసి మరియు భయానకంగా ఉంది."
"చింతించకండి, నిజమైన ప్రోగ్రామర్ తన దంతాలను కప్పి ఉంచినప్పుడు కూడా ఎల్లప్పుడూ శ్రేణిని నిర్వహించగలడు. జోకులు పక్కన పెడితే, ఒక శ్రేణి యొక్క బెల్లం ద్విమితీయ శ్రేణి యొక్క వరుసలను మార్చుకోవడమే కాకుండా, శ్రేణిని నిర్మించగల సామర్థ్యాన్ని ప్రతిబింబిస్తుంది. అయితే అది అవసరం.
"మీరు ద్విమితీయ శ్రేణి యొక్క మొదటి వరుస 10 పొడవును కలిగి ఉండాలని మరియు రెండవది 50గా ఉండాలని అనుకుందాం."
"మీరు నిజంగా అలా చేయగలరా?"
"ఖచ్చితంగా! ముందుగా, మేము 'కంటైనర్ల కంటైనర్'ని సృష్టిస్తాము - ఇది మొదటి శ్రేణి, ఇది వరుసల శ్రేణుల సూచనలను నిల్వ చేస్తుంది. ఇది ఇలా జరుగుతుంది:
int[][] name = new int[height][];
"మీరు రెండవ కోణాన్ని వదిలివేయండి మరియు జావా యంత్రం కంటైనర్ల కంటైనర్ను సృష్టిస్తుంది. ఈ కోడ్ని అమలు చేసిన తర్వాత ఇది మెమరీలో ఉంటుంది:
"మరియు, ఒక డైమెన్షనల్ శ్రేణులను ఎలా సృష్టించాలో మీకు ఇప్పటికే తెలుసు 🙂
ఫలితంగా కోడ్ ఇలా కనిపిస్తుంది:
|
ద్విమితీయ శ్రేణి సున్నా వరుస 10 మూలకాల యొక్క శ్రేణి మొదటి వరుస మూలకాల శ్రేణి 50 |
"మేము ఇప్పుడే "జాగ్డ్" అని పిలవబడే శ్రేణిని సృష్టించాము. దాని అంచులు కఠినమైనవి మరియు సక్రమంగా ఉంటాయి.
"మరియు మేము ఇప్పుడు ఈ శ్రేణిలోని అన్ని అంశాలను స్క్రీన్పై ప్రదర్శించాలనుకుంటే, శ్రేణి యొక్క length
శ్రేణి ఉపయోగపడుతుంది: అన్నింటికంటే, శ్రేణి వరుసల పొడవు భిన్నంగా ఉంటాయి.
"అయితే, మా ఉదాహరణలో 'కంటైనర్ ఆఫ్ కంటైనర్' యొక్క పొడవును ఎలా కనుగొనాలో మీరు నాకు చెప్పగలరా? ఇది కూడా ఒక అర్రే ఆబ్జెక్ట్, అంటే దానికి పొడవు ఉందని అర్థం."
"బహుశా matrix.length
?"
matrix[0].length
"చాలా సరైనది! మరియు అడ్డు వరుసలను రూపొందించే శ్రేణుల కోసం, మేము సున్నా వరుస కోసం ఉపయోగిస్తాము ."
"మరియు మొదటిది, అంటే మనం ఉపయోగిస్తామా matrix[1].length
?"
"చాలా సరియైనది. మొదటి సందర్భంలో, ఆదేశాన్ని అమలు చేయడం వలన 10 వస్తుంది, మరియు రెండవ సందర్భంలో, ఫలితం 50 అవుతుంది.
ద్విమితీయ శ్రేణితో పని చేస్తోంది
"ఇప్పుడు రెండు డైమెన్షనల్ శ్రేణిని ప్రదర్శించడానికి ప్రయత్నిద్దాం:
|
శ్రేణిని సృష్టించండి విలువలతో శ్రేణిని పూరించండి ఔటర్ లూప్ శ్రేణి యొక్క అడ్డు వరుసలపై మళ్ళిస్తుంది. ఇన్నర్ లూప్ ఒకే వరుసలోని సెల్లపై మళ్ళిస్తుంది. |
"మీరు చూడగలిగినట్లుగా, మాకు రెండు సమూహ లూప్లు అవసరం. మొదటిది మేము బయటి అని పిలుస్తాము మరియు రెండవది - అంతర్గత .
"అవుటర్ లూప్ ( i
వేరియబుల్)లో, మన ద్విమితీయ శ్రేణిని రూపొందించే అన్ని అడ్డు వరుసల (శ్రేణులు) ద్వారా మేము వరుసగా వెళ్తాము. ప్రతి విలువ i
ఆ సూచికతో ఉన్న అడ్డు వరుసకు అనుగుణంగా ఉంటుంది.
"ఇన్నర్ లూప్ ( j
వేరియబుల్)లో, మేము అడ్డు వరుసలలోని అన్ని సెల్లపై మళ్ళిస్తాము. ఇన్నర్ లూప్కు ధన్యవాదాలు, ఒక డైమెన్షనల్ శ్రేణి యొక్క విలువలను కలిగి ఉన్న అడ్డు వరుస, స్క్రీన్పై ప్రదర్శించబడుతుంది.
"ఇది ప్రదర్శించబడుతుంది:
శ్రేణి యొక్క ఒక లైన్ ప్రాసెస్ చేయబడింది | 1 2 3 4 5 6 |
శ్రేణి యొక్క రెండు పంక్తులు ప్రాసెస్ చేయబడ్డాయి | 1 2 3 4 5 6 |
శ్రేణి యొక్క మూడు పంక్తులు ప్రాసెస్ చేయబడ్డాయి | 1 2 3 4 5 6 |
బహుమితీయ శ్రేణులు
"ఏమిగో! రెండు డైమెన్షనల్ శ్రేణులు ఉంటే, మూడు డైమెన్షనల్ కూడా ఉండవచ్చని మీరు ఊహించారా?
"నేను దాని గురించి ఆలోచిస్తున్నాను, కానీ అడగడానికి సిగ్గుపడ్డాను.
"అవును, మీరు త్రిమితీయ శ్రేణిని సృష్టించవచ్చు మరియు సాధారణంగా ఏదైనా పరిమాణం యొక్క శ్రేణిని సృష్టించవచ్చు. అలాంటి శ్రేణులను 'మల్టీ డైమెన్షనల్' అంటారు. కేవలం వినోదం కోసం, 4 కొలతలు కలిగిన మల్టీడైమెన్షనల్ శ్రేణిని సృష్టిద్దాం.
int[][][][] matrix = new int[2][3][4][5];
"అది చాలా కష్టంగా అనిపించడం లేదు!"
"మీరు ఇంకా ఒకదాన్ని మాన్యువల్గా సృష్టించడానికి ప్రయత్నించలేదు! ఇదిగోండి, దీని మీద మీ దృష్టిని ఆకర్షించండి:
int[][][][] matrix;
matrix = new int[2][][][]; // Create a 2-element array of references to references to references
for (int i = 0; i < matrix.length; i++)
{
matrix[i] = new int[3][][]; // Create a 3-element array of references to references
for (j = 0; j < matrix[i].length; j++)
{
matrix[i][j] = new int[4][]; // Create a 4-element array of references
for (k = 0; k < matrix[i][j].length; k++)
matrix[i][j][k] = new int[5]; // Create 5-element arrays of integers
}
}
"మరియు అది కేవలం ఒక శ్రేణిని సృష్టించడం! అప్పుడు మీరు కూడా దానితో ఏదో ఒకవిధంగా పని చేయాలి."
"నేను చెప్పిన దానిని వెనక్కి తీసుకుంటాను. వారితో పని చేయడం అంత ఈజీ కాదు. కానీ అది సాధ్యమే."
"ఇది సాధ్యమే కాబట్టి, ఇక్కడ ఒక బోనస్ టాస్క్ ఉంది. త్రిమితీయ శ్రేణిలో అన్ని విలువలను ప్రదర్శించే కోడ్ను వ్రాయండి. దీన్ని చేయడానికి మీకు తగినంత తెలుసు. ప్రధాన విషయం ఓపికగా మరియు శ్రద్ధగా ఉండటం. లేదా వనరుగా ఉండటం (ఒక రహస్య బిట్ ఉంది ఈ పనిని ఒకే వరుసలో పరిష్కరించడంలో మీకు సహాయపడే జ్ఞానం).
"ధన్యవాదాలు రిషీ. నేను ప్రయత్నిస్తాను."
GO TO FULL VERSION