Java-algoritmit

Tässä opetusohjelmassa opitaan erilaisista Java-kokoelmakehyksen tarjoamista algoritmeista esimerkkien avulla.

Java-kokoelmakehys tarjoaa erilaisia ​​algoritmeja, joita voidaan käyttää tietorakenteisiin tallennettujen elementtien käsittelyyn.

Java-algoritmit ovat staattisia menetelmiä, joita voidaan käyttää kokoelmien eri toimintojen suorittamiseen.

Koska algoritmeja voidaan käyttää eri kokoelmissa, nämä tunnetaan myös yleisinä algoritmeina .

Katsotaan, miten kokoelmakehyksessä on käytettävissä erilaisia ​​menetelmiä.

1. Lajittelu lajittelulla ()

sort()Tarjoaman menetelmän kokoelmista puitteiden järjestämiseen käytetään elementtejä. Esimerkiksi,

 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); ) ) 

Tuotos

 Lajittelematon taulukko: (4, 2, 3) Lajiteltu: (2, 3, 4) 

Tässä lajittelu tapahtuu luonnollisessa järjestyksessä (nousevassa järjestyksessä). Voimme kuitenkin mukauttaa sort()menetelmän lajittelujärjestyksen Comparator-käyttöliittymän avulla.

Lisätietoja on Java-lajittelussa.

2. Sekoittaminen satunnaistoiston avulla ()

shuffle()Menetelmä Java kokoelmien kehystä käytetään tuhoamaan kaikenlaista järjestyksessä läsnä tietoja rakenteessa. Se tekee juuri päinvastoin kuin lajittelu. Esimerkiksi,

 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); ) ) 

Tuotos

 Lajiteltu ArrayList: (1, 2, 3) ArrayList käyttäen sekoitusta: (2, 1, 3) 

Kun suoritamme ohjelman, shuffle()menetelmä palauttaa satunnaisen lähdön.

Sekoitusalgoritmia käytetään pääasiassa peleissä, joissa haluamme satunnaislähtöä.

3. Rutiininomainen tietojen käsittely

Java-kokoelmakehys tarjoaa erilaisia ​​menetelmiä, joita voidaan käyttää tietojen käsittelyyn.

  • reverse() - kääntää elementtien järjestyksen
  • fill() - korvaa kaikki kokoelman elementit määritetyllä arvolla
  • copy() - luo kopion elementeistä määritetystä lähteestä kohteeseen
  • swap() - vaihtaa kahden elementin sijainnin kokoelmassa
  • addAll() - lisää kaikki kokoelman elementit toiseen kokoelmaan

Esimerkiksi,

 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); ) ) 

Tuotos

 ArrayList1: (1, 2) Reversed ArrayList1: (2, 1) ArrayList1 swapilla (): (1, 2) ArrayList2 käyttäen addALl (): (1, 2) ArrayList1 käyttäen fill (): (0, 0) ArrayList2 käyttämällä kopio (): (0, 0) 

Huomaa : copy()Menetelmää suoritettaessa molempien luetteloiden tulisi olla samankokoisia.

4. Hakeminen binarySearchilla ()

binarySearch()Menetelmä Java kokoelmien puitteet etsii määritetyn elementin. Se palauttaa elementin sijainnin määritetyissä kokoelmissa. Esimerkiksi,

 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); ) ) 

Tuotos

 3: n sijainti on 2. 

Huomaa : Kokoelma tulisi lajitella ennen binarySearch()menetelmän suorittamista .

Jos haluat tietää enemmän, käy Java Binary Search -sivulla.

5. Koostumus

  • frequency() - palauttaa määrän, kuinka monta kertaa elementti on läsnä kokoelmassa
  • disjoint() - tarkistaa, onko kahdessa kokoelmassa jotain yhteistä elementtiä

Esimerkiksi,

 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); ) ) 

Tuotos

 ArrayList1: (1, 2, 3, 2) 2: 2: n määrä ArrayList2: (5, 6) Kaksi luetteloa on disjoint: true 

6. Ääriarvojen löytäminen

min()Ja max()menetelmiä Java kokoelmia kehystä käytetään löytää minimi ja maksimi elementtejä, vastaavasti. Esimerkiksi,

 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); ) ) 

Tuotos

 Vähimmäisosa: 1 Suurin osa: 3 

Mielenkiintoisia artikkeleita...