Membandingkan Tatasusunan Integer dalam Java
Apabila membandingkan tatasusunan dalam Java, memastikan kesetaraan mereka adalah penting. Membandingkan dua tatasusunan integer menimbulkan cabaran khusus, terutamanya apabila satu tatasusunan mengandungi nilai yang dipratentukan dan yang lain diperoleh daripada fail input.
Memahami Isu
Kod yang disediakan cuba membandingkan dua tatasusunan, tatasusunan1 dan tatasusunan2. Array1 bersaiz tetap, manakala array2 bersaiz dinamik berdasarkan nombor pertama yang dibaca daripada fail input. Tujuannya adalah untuk menentukan sama ada kedua-dua tatasusunan adalah sama panjang dan kandungan.
Menangani Isu
Walau bagaimanapun, logik kod gagal dalam menentukan kesamaan dengan tepat. Ia menyemak sama ada setiap elemen dalam tatasusunan2 sepadan dengan mana-mana elemen dalam tatasusunan1 dan masing-masing mencetak "benar" atau "palsu" berdasarkan satu padanan atau tidak sepadan. Pendekatan ini tidak mencukupi untuk membandingkan tatasusunan secara keseluruhan.
Penyelesaian Optimum
Untuk perbandingan yang komprehensif, penyelesaian yang lebih mudah dan cekap ialah menggunakan terbina dalam Kaedah Arrays.equals() dalam Java:
<code class="java">boolean areEqual = Arrays.equals(array1, array2);</code>
Kaedah ini menentukan sama ada dua tatasusunan mempunyai panjang yang sama dan jika semua elemen yang sepadan adalah sama.
Nota Isih
Adalah penting untuk ambil perhatian bahawa tatasusunan dianggap sama menggunakan kaedah Arrays.equals(), ia juga mesti diisih. JavaDoc untuk kaedah tersebut menyatakan bahawa, "Dua tatasusunan dianggap sama jika kedua-dua tatasusunan mengandungi bilangan elemen yang sama, dan semua pasangan elemen yang sepadan dalam dua tatasusunan adalah sama."
Oleh itu, jika tatasusunan adalah tidak diisih secara semula jadi, anda perlu mengisihnya sebelum membandingkannya untuk kesamarataan.
Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Tatasusunan Integer dengan Tepat dalam Java: Saiz Tetap vs. Bersaiz Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!