Jadual Kandungan
Kaedah 1: Gunakan kaedah terbina dalam tatasusunan
Tatabahasa
Contoh
Output
Kaedah 2: Gunakan logik tersuai kami
Isih menggunakan isihan gelembung
Algoritma
Kesimpulan
Rumah Java javaTutorial Isih dan cari elemen dalam Java

Isih dan cari elemen dalam Java

Aug 30, 2023 pm 08:09 PM
pengisihan java carian java Pengisihan unsur

Isih dan cari elemen dalam Java

Isih dan cari ialah operasi asas yang boleh kami lakukan pada tatasusunan. Isih bermaksud menyusun semula elemen senarai atau tatasusunan yang diberikan dalam tertib menaik atau menurun, manakala mencari bermaksud mencari elemen atau indeksnya dalam senarai.

Walaupun terdapat pelbagai algoritma yang tersedia untuk melaksanakan operasi ini, dalam artikel ini, kami akan menggunakan sebahagian daripadanya untuk mengisih dan mencari elemen dalam java. Kita akan kaji satu persatu.

Kaedah 1: Gunakan kaedah terbina dalam tatasusunan

Dalam bahagian ini, kita akan membincangkan kaedah berikut yang membantu dalam menyusun dan mencari elemen dalam tatasusunan.

sort() - Ia ialah kaedah statik kelas Array yang mengisih tatasusunan yang diluluskan sebagai parameter dalam tertib menaik.

Tatabahasa

Arrays.sort(nameOfarray);
Salin selepas log masuk

binarySearch() - Ia juga merupakan kaedah statik kelas Arrays. Ia menerima dua parameter, yang pertama ialah tatasusunan yang elemennya perlu dicari dan yang kedua ialah elemen yang perlu kita cari dalam tatasusunan itu.

Ia mengembalikan nombor indeks elemen yang diluluskan sebagai hujah.

Tatabahasa

Arrays.binarySearch(nameOfarray, element);
Salin selepas log masuk

Contoh

import java.util.*;
public class Srch {
   public static void main(String args[]) {
      int araylist[] = {9, 3, 56, 0, -2, -6, 2, 1, 80};
      System.out.print("The given unsorted list: ");
      // for each loop that prints the original array
      for (int print : araylist) {
         System.out.print(print + " ");
      } 
      Arrays.sort(araylist); 
      // method to sort given array
      System.out.println();
      System.out.print("The newly sorted list: ");
      // for each loop that prints the newly sorted array
      for (int print : araylist) {
         System.out.print(print + " ");
      } 
      System.out.println();
      // method to search given element
      int position = Arrays.binarySearch(araylist, 1);
      if(position > -1) {
         System.out.print("Element is available at index: " + position);
      } else {
         System.out.print("Element is not available");
      }
   }
} 
Salin selepas log masuk

Output

The given unsorted list: 9 3 56 0 -2 -6 2 1 80 
The newly sorted list: -6 -2 0 1 2 3 9 56 80 
Element is available at index: 3
Salin selepas log masuk

Kaedah 2: Gunakan logik tersuai kami

Isih menggunakan isihan gelembung

Algoritma

  • Langkah 1 - Mula-mula, isytiharkan dan mulakan tatasusunan bernama "araylist" dan pembolehubah integer bernama "temp" untuk menyimpan sementara elemen yang dialihkan.

  • Langkah 2 - Gunakan dua untuk gelung untuk membandingkan elemen kedudukan ke-i dengan elemen ke-i + ke-1. Cipta blok if di dalam gelung kedua untuk memeriksa elemen mana yang lebih besar dan kemudian kami melakukan operasi anjakan untuk menyusun semula elemen dalam tertib menaik.

  • Langkah 3 - Sekarang menggunakan setiap gelung, kami akan mencetak tatasusunan yang diisih.

Contoh

public class Bubble {
   public static void main(String[] args) {
      int araylist[] = {9, 3, 56, 0, 2, 1, 80};
      int temp = 0; 
      System.out.print("The given unsorted list: ");
      for (int print : araylist) {
         System.out.print(print + " ");
      }   
      for (int i = 0; i < araylist.length; i++) {     
         for (int j = i+1; j < araylist.length; j++) {     
            if(araylist[i] > araylist[j]) {    
               temp = araylist[i];    
               araylist[i] = araylist[j];    
               araylist[j] = temp;    
            }     
         }     
      }
      System.out.println();
      System.out.print("The newly sorted list: ");
      for (int print : araylist) {
         System.out.print(print + " ");
      }     
   }     
}
Salin selepas log masuk

Output

The given unsorted list: 9 3 56 0 2 1 80 
The newly sorted list: 0 1 2 3 9 56 80 
Salin selepas log masuk

Cari menggunakan carian linear

Algoritma

  • Langkah 1 - Mula-mula, isytiharkan dan mulakan tatasusunan yang dipanggil "araylist" dan pembolehubah integer dipanggil "searchElem" yang akan kita cari dalam tatasusunan. Kami juga memerlukan dua pembolehubah integer "isFound" dan "locate".

  • Langkah 2 - Sekarang, buat gelung for yang akan berjalan sehingga panjang tatasusunan. Dalam gelung ini, gunakan blok if untuk menyemak sama ada "searchElem" wujud dalam tatasusunan. Jika tersedia, indeksnya disimpan dalam pembolehubah "locate" dan pembolehubah "isFound" dinaikkan kepada 1.

  • Langkah 3 - Seterusnya, kami mencipta blok if else untuk menyemak sama ada pembolehubah "isFound" meningkat kepada 1. Jika ia sama dengan 1, ia bermakna elemen telah dijumpai dan kami mengembalikan indeks. Jika tidak, pernyataan dalam blok else akan dilaksanakan.

Contoh

public class Linear {
   public static void main(String[] args) {
      int araylist[] = {9, 3, 56, 0, 2, 1, 80};
      int searchElem = 0;
      int isFound = 0;
      int locate = 0;
      for(int i = 0; i < araylist.length; i++) {
         if(searchElem == araylist[i]) {
            isFound = 1;
            locate = i;
         } 
      }
      if(isFound == 1) {
         System.out.print("Element is available at index: " + locate);
      } else {
         System.out.print("Element is not available");
      }
   }
}
Salin selepas log masuk

Output

Element is available at index: 3
Salin selepas log masuk

Kesimpulan

Dalam artikel ini, kami membincangkan cara mengisih elemen tatasusunan dan melakukan operasi carian untuk mencari elemen tertentu tatasusunan itu. Kita boleh menggunakan kaedah terbina dalam yang dipanggil "sort()" atau sebarang algoritma pengisihan dan carian.

Atas ialah kandungan terperinci Isih dan cari elemen dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah perisian keselamatan syarikat menyebabkan aplikasi gagal dijalankan? Bagaimana cara menyelesaikan masalah dan menyelesaikannya? Adakah perisian keselamatan syarikat menyebabkan aplikasi gagal dijalankan? Bagaimana cara menyelesaikan masalah dan menyelesaikannya? Apr 19, 2025 pm 04:51 PM

Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Bagaimana untuk memudahkan isu pemetaan medan dalam dok sistem menggunakan mapstruct? Bagaimana untuk memudahkan isu pemetaan medan dalam dok sistem menggunakan mapstruct? Apr 19, 2025 pm 06:21 PM

Pemprosesan pemetaan medan dalam dok sistem sering menemui masalah yang sukar ketika melaksanakan sistem dok: bagaimana untuk memetakan medan antara muka sistem dengan berkesan ...

Bagaimana dengan elegan mendapatkan nama pemboleh ubah kelas entiti untuk membina keadaan pertanyaan pangkalan data? Bagaimana dengan elegan mendapatkan nama pemboleh ubah kelas entiti untuk membina keadaan pertanyaan pangkalan data? Apr 19, 2025 pm 11:42 PM

Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Bagaimanakah Idea IntelliJ mengenal pasti nombor port projek boot musim bunga tanpa mengeluarkan log? Bagaimanakah Idea IntelliJ mengenal pasti nombor port projek boot musim bunga tanpa mengeluarkan log? Apr 19, 2025 pm 11:45 PM

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Bagaimana cara menukar objek Java dengan selamat ke array? Bagaimana cara menukar objek Java dengan selamat ke array? Apr 19, 2025 pm 11:33 PM

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Bagaimanakah saya menukar nama kepada nombor untuk melaksanakan penyortiran dan mengekalkan konsistensi dalam kumpulan? Bagaimanakah saya menukar nama kepada nombor untuk melaksanakan penyortiran dan mengekalkan konsistensi dalam kumpulan? Apr 19, 2025 pm 11:30 PM

Penyelesaian untuk menukar nama kepada nombor untuk melaksanakan penyortiran dalam banyak senario aplikasi, pengguna mungkin perlu menyusun kumpulan, terutama dalam satu ...

Bagaimana dengan elegan mendapatkan syarat pertanyaan bangunan pembolehubah kelas entiti apabila menggunakan tkmybatis untuk pertanyaan pangkalan data? Bagaimana dengan elegan mendapatkan syarat pertanyaan bangunan pembolehubah kelas entiti apabila menggunakan tkmybatis untuk pertanyaan pangkalan data? Apr 19, 2025 pm 09:51 PM

Apabila menggunakan tkmybatis untuk pertanyaan pangkalan data, bagaimana dengan anggun mendapatkan nama pembolehubah kelas entiti untuk membina keadaan pertanyaan adalah masalah biasa. Artikel ini akan ...

Platform e-dagang SKU dan Reka Bentuk Pangkalan Data SPU: Bagaimana untuk mengambil kira kedua-dua atribut yang ditakrifkan oleh pengguna dan produk yang tidak berkesudahan? Platform e-dagang SKU dan Reka Bentuk Pangkalan Data SPU: Bagaimana untuk mengambil kira kedua-dua atribut yang ditakrifkan oleh pengguna dan produk yang tidak berkesudahan? Apr 19, 2025 pm 11:27 PM

Penjelasan terperinci mengenai reka bentuk jadual SKU dan SPU di platform e-dagang Artikel ini akan membincangkan isu reka bentuk pangkalan data SKU dan SPU dalam platform e-dagang, terutamanya bagaimana menangani jualan yang ditentukan pengguna ...

See all articles