Isixazululo senkinga yokukopisha amalungu afanayo angu-2D asiqondile njengokukopisha amalungu afanayo angu-1D ngoba ukumane ukopishe izinkomba kumalungu afanayo angaphakathi ngeke kudale amakhophi ajulile ezinhlaka ngokwazo. Kunezindlela eziningana zokuxazulula le nkinga, futhi sizoxoxa ngendlela eyodwa enjalo ngokuningiliziwe, ukuhlolwa kwesinyathelo ngesinyathelo sekhodi, nokusebenza kwayo.
Okokuqala, ake sakhe umsebenzi okopisha uhlu lwe-2D:
public static int[][] copy2DArray(int[][] original) {
int[][] copy = new int[original.length][];
ngoba (int i = 0; i < original.length; i++) {copy[i] = Arrays.copyOf(original[i], original[i].length); } buyisela ikhophi; } [/ikhodi] Ekhodini engenhla, siqala ngokuchaza umsebenzi othi `copy2DArray` othatha uhlu oluphelele lwe-2D, oluqanjwe ngokuthi **okoqobo**, njengepharamitha yalo. Ngemva kokuchaza umsebenzi, sibe sesidala uhlu olusha lwe-2D, olubizwa ngokuthi **copy**, olunobude obufanayo nobokuqala. Sibe sesisebenzisa iluphu ukuze siphindaphinde izici zamalungu afanayo okuqala futhi sizikopishele kumalungu afanayo amasha sisebenzisa indlela ethi `Arrays.copyOf()` esuka kulabhulali ethi `java.util.Arrays`. Le ndlela idala ikhophi ejulile yama-subarrays. Ekugcineni, sibuyisela ikhophi ye-2D yamalungu afanayo.
Ukuqonda i-2D Arrays
Ku-Java, i-**2D array** iwuhlu lwamalungu afanayo. Ingabonwa njengetafula elinemigqa namakholomu. Izakhi zingafinyelelwa kusetshenziswa izinkomba ezimbili: eyodwa yomugqa, enye eyekholomu. Uma usebenza nge-2D arrays ku-Java, kubalulekile ukugcina umkhondo wazo zombili izinkomba, ukuze ukwazi ukufinyelela kahle futhi ulawule idatha.
- Uhlu lwe-2D lwenziwa kusetshenziswa i-syntax elandelayo:
`dataType[][] arrayName = new dataType[rowSize][columnSize];` - Ama-elementi ohlwini lwe-2D angafinyelelwa ngezinkomba ezimbili: `i-arrayName[umugqa][ikholomu];`
- Ukuphindaphinda ngohlelo lwe-2D ngokuvamile kufaka ama-loop afakwe esidlekeni.
Ngaphambi kokuthi ungene ngaphakathi kopisha uhlu ku-2D, kubalulekile ukuqonda ukuthi kungani kubalulekile ukwenza amakhophi ajulile we-subarrays. Ikhophi engashoni ingakopisha kuphela izinkomba zezinhlu ezingaphansi, futhi noma yiziphi izinguquko ezenziwe koqobo zizophinde zithinte ikhophi. Ngokwenza amakhophi ajulile, siqinisekisa ukuthi izinguquko kuhlelo olulodwa akuthinti enye.
I-Java.util.Arrays Library
Esixazululweni sethu, sisebenzise umtapo `java.util.Arrays`, ohlinzeka ngezindlela eziwusizo zokusebenza ngamalungu afanayo. Ngenkinga ethile yokukopisha amalungu afanayo angu-2D, sisebenzise indlela ethi `Arrays.copyOf()` ukuze sakhe amakhophi ajulile ezinhlaka ezingaphansi.
- Indlela ethi `Arrays.copyOf()` idala ikhophi ejulile yamalungu afanayo okuqala. Kuthatha amapharamitha amabili: uhlu lwangempela kanye nobude bohlelo olusha.
- Ezinye izindlela eziwusizo kulo mtapo wolwazi zihlanganisa `Arrays.fill()`, `Arrays.sort()`, kanye `Arrays.binarySearch()`.
Sengiphetha, ukukopisha uhlu lwe-2D ku-Java kudinga ikhophi ejulile ukuze kuvinjelwe izinguquko kuhlelo lwangempela ukuthi zingathinti ikhophi. Sibonise isixazululo sisebenzisa indlela ethi `Arrays.copyOf()` kusuka kulabhulali ethi `java.util.Arrays`, futhi umsebenzi odaliwe usebenza kahle futhi kulula ukuwuqonda. Ngokuqonda kwethu okujulile kwezinhlelo ze-2D, umtapo wezincwadi we-Java.util.Arrays, kanye nokukhohlisa kwezinhlu, manje singabhekana nezinye izinselele ngokuzethemba okukhulu nezisombululo eziqine kakhulu ku-Java.