„Java“ algoritmai

Šioje pamokoje su pavyzdžių pagalba sužinosime apie įvairius algoritmus, kuriuos teikia „Java“ kolekcijų sistema.

„Java“ kolekcijų sistema pateikia įvairius algoritmus, kurie gali būti naudojami manipuliuojant duomenų struktūrose saugomais elementais.

„Java“ algoritmai yra statiniai metodai, kuriuos galima naudoti atliekant įvairias kolekcijų operacijas.

Kadangi algoritmai gali būti naudojami įvairiose kolekcijose, jie taip pat žinomi kaip bendrieji algoritmai .

Pažiūrėkime, kaip įgyvendinami įvairūs kolekcijų sistemoje esantys metodai.

1. Rūšiavimas naudojant rūšiavimą ()

sort()Nurodyta kolekcijų sistemą metodas naudojamas rūšiavimo elementų. Pavyzdžiui,

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); ) ) 

Rezultatas

 Nerūšiuotas masyvų sąrašas: (4, 2, 3) Rūšiuotas masyvų sąrašas: (2, 3, 4) 

Čia rūšiavimas vyksta natūralia tvarka (didėjimo tvarka). Tačiau mes galime pritaikyti sort()metodo rūšiavimo tvarką naudodami „Comparator“ sąsają.

Norėdami sužinoti daugiau, apsilankykite „Java“ rūšiavime.

2. Maišymas naudojant maišymą ()

shuffle()Java kolekcijų sistemą metodas yra naudojamas sunaikinti bet kokį užsakymo metu į duomenų struktūrą natūra. Tai daro priešingai nei rūšiavimas. Pavyzdžiui,

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Sorted ArrayList: " + numbers); // Using the shuffle() method Collections.shuffle(numbers); System.out.println("ArrayList using shuffle: " + numbers); ) ) 

Rezultatas

 Rūšiuotas masyvų sąrašas: (1, 2, 3) „ArrayList“ naudojant maišymą: (2, 1, 3) 

Kai vykdysime programą, shuffle()metodas pateiks atsitiktinę išvestį.

Maišymo algoritmas daugiausia naudojamas žaidimuose, kur norime atsitiktinės išvesties.

3. Įprastas duomenų valdymas

„Java“ rinkinių sistema pateikia skirtingus metodus, kuriuos galima naudoti manipuliuojant duomenimis.

  • reverse() - pakeičia elementų eiliškumą
  • fill() - pakeiskite kiekvieną kolekcijos elementą nurodyta verte
  • copy() - sukuria elementų kopiją nuo nurodyto šaltinio iki paskirties
  • swap() - keičia dviejų elementų poziciją kolekcijoje
  • addAll() - prideda visus kolekcijos elementus prie kitos kolekcijos

Pavyzdžiui,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); System.out.println("ArrayList1: " + numbers); // Using reverse() Collections.reverse(numbers); System.out.println("Reversed ArrayList1: " + numbers); // Using swap() Collections.swap(numbers, 0, 1); System.out.println("ArrayList1 using swap(): " + numbers); ArrayList newNumbers = new ArrayList(); // Using addAll newNumbers.addAll(numbers); System.out.println("ArrayList2 using addAll(): " + newNumbers); // Using fill() Collections.fill(numbers, 0); System.out.println("ArrayList1 using fill(): " + numbers); // Using copy() Collections.copy(newNumbers, numbers); System.out.println("ArrayList2 using copy(): " + newNumbers); ) ) 

Rezultatas

 „ArrayList1“: (1, 2) „Reversed ArrayList1“: (2, 1) „ArrayList1“ naudojant „swap“ (): (1, 2) „ArrayList2“ naudojant „addALl“ (): (1, 2) „ArrayList1“ naudojant užpildą (): (0, 0) „ArrayList2“ naudojant kopija (): (0, 0) 

Pastaba : Atliekant copy()metodą, abu sąrašai turėtų būti vienodo dydžio.

4. Paieška naudojant „binarySearch“ ()

binarySearch()Java kolekcijos pagrindų paieškas nurodyto elemento metodas. Jis grąžina elemento padėtį nurodytose kolekcijose. Pavyzdžiui,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // Using binarySearch() int pos = Collections.binarySearch(numbers, 3); System.out.println("The position of 3 is " + pos); ) ) 

Rezultatas

 3 padėtis yra 2. 

Pastaba : Kolekcija turi būti rūšiuojama prieš atliekant binarySearch()metodą.

Norėdami sužinoti daugiau, apsilankykite „Java“ dvejetainėje paieškoje.

5. Kompozicija

  • frequency() - pateikia skaičių elementų, esančių kolekcijoje, skaičiaus
  • disjoint() - patikrina, ar dviejose kolekcijose yra koks nors bendras elementas

Pavyzdžiui,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(2); System.out.println("ArrayList1: " + numbers); int count = Collections.frequency(numbers, 2); System.out.println("Count of 2: " + count); ArrayList newNumbers = new ArrayList(); newNumbers.add(5); newNumbers.add(6); System.out.println("ArrayList2: " + newNumbers); boolean value = Collections.disjoint(numbers, newNumbers); System.out.println("Two lists are disjoint: " + value); ) ) 

Rezultatas

 „ArrayList1“: (1, 2, 3, 2) „Count of 2: 2“ „ArrayList2“: (5, 6) Du sąrašai nesusiję: tiesa 

6. Ekstremalių vertybių radimas

„ Java“ rinkinių sistemos pagrindai min()ir max()metodai naudojami atitinkamai surasti minimalų ir maksimalų elementus. Pavyzdžiui,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // Using min() int min = Collections.min(numbers); System.out.println("Minimum Element: " + min); // Using max() int max = Collections.max(numbers); System.out.println("Maximum Element: " + max); ) ) 

Rezultatas

 Minimalus elementas: 1 Maksimalus elementas: 3 

Įdomios straipsniai...