Java-algoritmer

I denne opplæringen vil vi lære om forskjellige algoritmer som tilbys av Java-samlingens rammeverk ved hjelp av eksempler.

Java-samlingsrammeverket gir forskjellige algoritmer som kan brukes til å manipulere elementer som er lagret i datastrukturer.

Algoritmer i Java er statiske metoder som kan brukes til å utføre ulike operasjoner på samlinger.

Siden algoritmer kan brukes på forskjellige samlinger, er disse også kjent som generiske algoritmer .

La oss se implementeringen av forskjellige metoder som er tilgjengelige i samlingens rammeverk.

1. Sortering ved hjelp av sort ()

Den sort()metode som tilbys av samlingene rammeverket anvendes for å sortere elementene. For eksempel,

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

Produksjon

 Usortert ArrayList: (4, 2, 3) Sortert ArrayList: (2, 3, 4) 

Her forekommer sorteringen i naturlig rekkefølge (stigende rekkefølge). Vi kan imidlertid tilpasse sorteringsrekkefølgen til sort()metoden ved hjelp av Comparator-grensesnittet.

For å lære mer, besøk Java Sortering.

2. Blanding ved hjelp av blanding ()

Den shuffle()metode for Java samlingene rammeverket anvendes for å ødelegge enhver art og av orden som er tilstede i datastrukturen. Det gjør akkurat det motsatte av sorteringen. For eksempel,

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

Produksjon

 Sortert ArrayList: (1, 2, 3) ArrayList ved å bruke blanding: (2, 1, 3) 

Når vi kjører programmet, vil shuffle()metoden gi en tilfeldig utgang.

Shuffling-algoritmen brukes hovedsakelig i spill der vi vil ha tilfeldig utgang.

3. Rutinemessig databehandling

I Java gir samlingens rammeverk forskjellige metoder som kan brukes til å manipulere data.

  • reverse() - reverserer rekkefølgen på elementene
  • fill() - erstatt hvert element i en samling med den angitte verdien
  • copy() - oppretter en kopi av elementer fra den angitte kilden til destinasjonen
  • swap() - bytter posisjonen til to elementer i en samling
  • addAll() - legger til alle elementene i en samling i annen samling

For eksempel,

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

Produksjon

 ArrayList1: (1, 2) Reversed ArrayList1: (2, 1) ArrayList1 Using swap (): (1, 2) ArrayList2 using addALl (): (1, 2) ArrayList1 using fill (): (0, 0) ArrayList2 using kopi (): (0, 0) 

Merk : Mens du utfører copy()metoden, bør begge listene være av samme størrelse.

4. Søke ved hjelp av binarySearch ()

Den binarySearch()metoden for Java samlingene ramme søker etter den angitte elementet. Den returnerer elementets posisjon i de angitte samlingene. For eksempel,

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

Produksjon

 Posisjonen til 3 er 2. 

Merk : Samlingen skal sorteres før du utfører binarySearch()metoden.

For å vite mer, besøk Java Binary Search.

5. Sammensetning

  • frequency() - returnerer antall ganger et element er til stede i samlingen
  • disjoint() - sjekker om to samlinger inneholder noe vanlig element

For eksempel,

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

Produksjon

 ArrayList1: (1, 2, 3, 2) Count of 2: 2 ArrayList2: (5, 6) To lister er usammenhengende: sant 

6. Finne ekstreme verdier

Den min()og max()metoder for Java samlingene rammen blir brukt til å finne minimum og maksimum elementene, henholdsvis. For eksempel,

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

Produksjon

 Minimumselement: 1 Maksimumselement: 3 

Interessante artikler...