java array class tutorial java
Tento výukový program zahrnuje třídu Array v Javě a metody třídy java.util.arrays spolu s podrobným popisem a příklady metod třídy Array:
Třída „Arrays“ je členem balíčku „java.util“. Toto je součást rámce Java Collections a poskytuje metody pro dynamické vytváření, přístup a manipulaci s poli Java.
Všechny metody poskytované třídou Arrays mají statickou povahu a jsou metodami třídy „Object“. Protože jsou metody statické, lze k nim přistupovat pomocí samotného názvu třídy.
=> Zkontrolujte VŠECHNY výukové programy Java zde.
Co se naučíte:
Třída Java Array
Třída Arrays byla zavedena v prostředí Java 1.2 a metody, které obsahuje, se většinou používají pro manipulaci s polem, včetně vyhledávání, třídění atd. Třída Arrays poskytuje přetížené metody pro téměř všechny datové typy.
Hierarchie tříd pro třídu Arrays je uvedena níže:
Třída Arrays vychází z třídy Object a její metody jsou metodami třídy Object.
Obecná syntaxe pro přístup k jakékoli metodě třídy Arrays je:
Arrays.;
V nadcházející části uvedeme seznam různých metod poskytovaných třídou Arrays.
Metody pole Java
Následující tabulky poskytují úvod do různých metod poskytovaných třídou Arrays. Zde jsme uvedli hlavní metody. Všimněte si, že většina metod je přetížená, aby poskytovala podporu pro všechny primitivní typy.
Uvedeme prototyp a popis každé z funkcí. Pak v následující části popíšeme některé důležité metody poskytnutím příkladů programování.
Název metody | Prototyp | Popis |
---|---|---|
static int binarySearch (double () a, int fromIndex, int toIndex, dvojitý klíč) | Vyhledá klíč v zadaném rozsahu ve dvojitém poli | |
jako seznam | statický seznam< T> asList (Objekt () a) | Vrátí seznam (pevné velikosti) ze zadaného pole |
binární vyhledávání Tato metoda používá algoritmus binárního vyhledávání. V dalším sloupci jsou uvedena různá přetížení metody binarySearch. | static int binarySearch (byte () a, klíč bytu) | Hledá klíč v bajtovém poli |
static int binarySearch (byte () a, int fromIndex, int toIndex, byte key) | Hledá klíč v zadaném rozsahu v bajtovém poli | |
static int binarySearch (char () a, klíč char) | Hledá klíč v poli znaků | |
static int binarySearch (char () a, int fromIndex, int toIndex, char klíč) | Hledá klíč v zadaném rozsahu v poli znaků | |
static int binarySearch (double () a, double key) | Hledá klíč v dvojitém poli | |
static int binarySearch (float () a, float klíč) | Hledá klíč v řadě plováků | |
static int binarySearch (float () a, int fromIndex, int toIndex, float key) | Hledá klíč v zadaném rozsahu v floatovém poli | |
static int binarySearch (int () a, int klíč) | Hledá klíč v poli int | |
static int binarySearch (int () a, int fromIndex, int toIndex, int klíč) | Hledá klíč v zadaném rozsahu v poli int | |
static int binarySearch (dlouhý () a, dlouhý klíč) | Hledá klíč v dlouhém poli | |
static int binarySearch (long () a, int fromIndex, int toIndex, dlouhý klíč) | Hledá klíč v zadaném rozsahu v dlouhém poli | |
static int binarySearch (Object () a, klíč objektu) | Hledá klíč v poli objektu | |
static int binarySearch (Object () a, int fromIndex, int toIndex, Object key) | Hledá klíč v zadaném rozsahu v poli objektu | |
static int binarySearch (krátké () a, krátké tlačítko) | Hledá klíč v řadě šortek | |
static int binarySearch (short () a, int fromIndex, int toIndex, krátký klíč) | Hledá klíč v zadaném rozsahu v řadě šortek | |
static int binarySearch (T () a, klíč T, komparátor c) | Hledá klíč v poli zadaných objektů | |
static int binarySearch (T () a, int fromIndex, int toIndex, klíč T, komparátor c) | Hledá klíč v zadaném rozsahu v poli objektů |
Název metody | Prototyp | Popis |
---|---|---|
statický dlouhý () copyOf (dlouhý () originál, nová délka) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí nuly | |
kopie Metoda se používá ke kopírování pole se zadanou délkou. Další sloupec uvádí přetížení této metody | static boolean () copyOf (boolean () original, int newLength) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí hodnoty „false“ |
statický bajt () copyOf (bajt () originál, int nová délka) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí nuly | |
static char () copyOf (char () original, int newLength) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí null | |
statický dvojitý () copyOf (dvojitý () originál, nová délka) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí nuly | |
statický float () copyOf (float () originál, int nová délka) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí nuly | |
statický int () copyOf (int () originál, int nová délka) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí nuly | |
statický krátký () copyOf (krátký () originál, nová délka) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí nuly | |
statický T () copyOf (T () originál, nová délka) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí nuly | |
statický T () copyOf (U () originál, int newLength, ClassnewType) | Zkopíruje zadané pole. V případě potřeby zkrátí nebo připojí nuly | |
copyOfRange Tato metoda se používá ke kopírování zadaného rozsahu v poli. Přetížení pro tuto metodu jsou uvedeny v dalším sloupci | static boolean () copyOfRange (boolean () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole |
statický bajt () copyOfRange (bajt () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole | |
static char () copyOfRange (char () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole | |
statický double () copyOfRange (double () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole | |
statický float () copyOfRange (float () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole | |
statický int () copyOfRange (int () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole | |
statický dlouhý () copyOfRange (dlouhý () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole | |
statický krátký () copyOfRange (krátký () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole | |
statický T () copyOfRange (T () originál, int od, int do) | Zkopíruje pole se zadaným rozsahem do nového pole | |
statický T () copyOfRange (U () originál, int od, int do, ClassnewType) | Zkopíruje pole se zadaným rozsahem do nového pole |
Název metody | Prototyp | Popis |
---|---|---|
static boolean se rovná (double () a, double () a2) | Vrátí true, pokud jsou dvě zadaná dvojitá pole stejná. | |
deepEquals | static boolean deepEquals (Object () a1, Object () a2) | Zkontroluje, zda jsou dvě zadaná pole hluboce stejná |
deepHashCode | static intdeepHashCode (objekt () a) | Vrátí hash kód zadaného pole |
deepToString | statický StringdeepToString (objekt () a) | Vrátí „hluboký obsah“ zadaného pole v řetězci |
Rovná se Zkontroluje, zda jsou dvě zadaná pole stejná | static boolean se rovná (boolean () a, boolean () a2) | Vrátí true, pokud jsou dva zadané booleanarray stejné. |
static boolean se rovná (byte () a, byte () a2) | Vrátí true, pokud jsou dvě zadaná bajtová pole stejná | |
static boolean se rovná (char () a, char () a2) | Vrátí true, pokud jsou dvě zadaná pole znaků stejná. | |
static boolean se rovná (float () a, float () a2) | Vrátí true, pokud jsou dvě zadaná float pole stejná. | |
static boolean equals (int () a, int () a2) | Vrátí true, pokud jsou dvě zadaná pole int stejná. | |
static boolean se rovná (long () a, long () a2) | Vrátí true, pokud jsou dvě zadaná dlouhá pole stejná. | |
static boolean se rovná (Object () a, Object () a2) | Vrátí true, pokud jsou dvě zadaná pole Object stejná. | |
static boolean se rovná (short () a, short () a2) | Vrátí true, pokud jsou dvě zadaná krátká pole stejná. |
Název metody | Prototyp | Popis |
---|---|---|
výplň statické prázdnoty (double () a, double val) | Vyplní dvojité pole zadanou dvojitou hodnotou | |
vyplnit Vyplní pole (všechny prvky) zadanou hodnotou. Další sloupec udává přetížení této funkce | static void fill (boolean () a, boolean val) | Vyplní logické pole zadanou logickou hodnotou |
static void fill (boolean () a, int fromIndex, int toIndex, boolean val) | Přiřadí booleovskou hodnotu zadanému rozsahu v booleovském poli. | |
static void fill (byte () a, byte val) | Vyplní pole bajtů zadanou hodnotou bajtu | |
static void fill (byte () a, int fromIndex, int toIndex, byte val) | Vyplní bajtové pole zadanou hodnotou bajtu v daném rozsahu | |
static void fill (char () a, char val) | Vyplní pole char zadanou hodnotou char | |
static void fill (char () a, int fromIndex, int toIndex, char val) | Vyplní rozsah pole char zadanou hodnotou char | |
static void fill (double () a, int fromIndex, int toIndex, double val) | Přiřadí dvojitou hodnotu k zadanému rozsahu v dvojitém poli. | |
výplň statické prázdnoty (float () a, float val) | Přiřadí plovoucí hodnotu zadanému rozsahu v plovoucím poli. | |
static void fill (float () a, int fromIndex, int toIndex, float val) | Přiřadí plovoucí hodnotu zadanému rozsahu v plovoucím poli. | |
static void fill (int () a, int val) | Přiřadí hodnotu int k poli int. | |
static void fill (int () a, int fromIndex, int toIndex, int val) | Přiřadí hodnotu int k zadanému rozsahu v poli int. | |
static void fill (long () a, int fromIndex, int toIndex, long val) | Přiřadí dlouhou hodnotu k zadanému rozsahu v dlouhém poli. | |
výplň statické prázdnoty (long () a, long val) | Přiřadí dlouhou hodnotu dlouhému poli. | |
static void fill (Object () a, int fromIndex, int toIndex, Object val) | Přiřadí odkaz na objekt zadanému rozsahu v poli Object. | |
static void fill (Object () a, Object val) | Přiřadí odkaz na objekt k určenému poli objektů | |
static void fill (short () a, int fromIndex, int toIndex, short val) | Přiřadí krátkou hodnotu zadanému rozsahu v krátkém poli. | |
výplň statické prázdnoty (short () a, short val) | Přiřadí krátkou hodnotu zadanému krátkému poli. |
Název metody | Prototyp | Popis |
---|---|---|
static void sort (float () a) | Seřadí plovoucí pole do vzestupného číselného pořadí. | |
Třídit Seřadí pole předané jako parametr metodě. Přetížení je uvedeno v dalším sloupci. | static void sort (byte () a) | Seřadí bajtové pole číselně |
static void sort (byte () a, int fromIndex, int toIndex) | Seřadí rozsah prvků z pole | |
static void sort (char () a) | Seřadí pole znaků do vzestupného číselného pořadí. | |
static void sort (char () a, int fromIndex, int toIndex) | Seřadí rozsah prvků v poli do vzestupného pořadí. | |
static void sort (double () a) | Seřadí dvojité pole do vzestupného číselného pořadí. | |
static void sort (double () a, int fromIndex, int toIndex) | Seřadí rozsah prvků z pole do vzestupného pořadí. | |
static void sort (float () a, int fromIndex, int toIndex) | Seřadí rozsah prvků z pole do vzestupného pořadí. | |
static void sort (int () a) | Seřadí pole int do vzestupného číselného pořadí. | |
static void sort (int () a, int fromIndex, int toIndex) | Seřadí řadu prvků z pole do vzestupného pořadí. | |
statické vyprázdnění (dlouhé () a) | Seřadí dlouhé pole do vzestupného číselného pořadí. | |
static void sort (long () a, int fromIndex, int toIndex) | Seřadí rozsah prvků z pole do vzestupného pořadí | |
static void sort (Object () a) | Seřadí pole objektů do vzestupného pořadí. Třídění se provádí podle přirozeného uspořádání jeho prvků | |
static void sort (Object () a, int fromIndex, int toIndex) | Seřadí zadaný rozsah od pole objektů do vzestupného pořadí. Třídění se provádí podle přirozeného uspořádání jeho prvků. | |
statické vyprázdnění (krátké () a) | Seřadí pole typu short do vzestupného číselného pořadí. | |
static void sort (short () a, int fromIndex, int toIndex) | Seřadí rozsah prvků z pole do vzestupného pořadí. | |
statické třídění void (T () a, komparátor c) | Seřadí zadané pole objektů. Pořadí třídění je indukováno podle zadaného komparátoru. | |
static void sort (T () a, int fromIndex, int toIndex, Comparator c) | Seřadí rozsah prvků z řady objektů v pořadí určeném komparátorem. |
Název metody | Prototyp | Popis |
---|---|---|
statický řetězec toString (dlouhý () a) | Vrátí řetězcovou reprezentaci dlouhého pole | |
toString Tato metoda vrací řetězcovou reprezentaci daného pole. V následujícím sloupci jsou uvedena různá přetížení této metody | static String toString (boolean () a) | Vrátí řetězcovou reprezentaci booleovského pole |
static String toString (byte () a) | Vrátí řetězcové vyjádření bajtového pole | |
static String toString (char () a) | Vrátí řetězcové vyjádření pole znaků | |
static String toString (double () a) | Vrátí řetězcové vyjádření dvojitého pole | |
static String toString (float () a) | Vrátí řetězcové vyjádření floatového pole | |
static String toString (int () a) | Vrátí řetězcovou reprezentaci pole int | |
static String toString (Object () a) | Vrátí řetězcovou reprezentaci pole objektu | |
static String toString (short () a) | Vrátí řetězcovou reprezentaci krátkého pole |
Název metody | Prototyp | Popis |
---|---|---|
statický int hashCode (dlouhý () a) | Vrátí hash kód obsahu dlouhého pole | |
hashCode Tato metoda vrací hashCode obsahu zadaného pole Přetížené metody jsou uvedeny v dalším sloupci. | static int hashCode (boolean () a) | Vrátí hash kód obsahu booleovského pole |
static int hashCode (byte () a) | Vrátí hash kód obsahu bytového pole | |
static int hashCode (char () a) | Vrátí hash kód obsahu pole znaků | |
static int hashCode (double () a) | Vrátí hash kód obsahu dvojitého pole | |
static int hashCode (float () a) | Vrátí zatřiďovací kód obsahu floatového pole | |
static int hashCode (int () a) | Vrátí hash kód obsahu int pole. | |
static int hashCode (Object () a) | Vrátí hash kód obsahu pole objektu | |
static int hashCode (krátký () a) | Vrátí hash kód obsahu krátkého pole |
Výše uvedené tabulky ukazují všechny metody, které třída Arrays poskytuje. Většina z nich je přetížena pro různé primitivní typy.
Podívejme se podrobně na některé z těchto metod.
# 1) asList
Prototyp: statický seznam jako seznam (objekt () a)
Parametry: a - pole objektů, ze kterých bude seznam zálohován.
Návratová hodnota: List => seznam pevné velikosti zadaného pole
Popis: Vrátí serializovatelný seznam pevné velikosti zálohovaný polem poskytnutým jako argument.
Příklad:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { String() months = {'January', 'February', 'March', 'April', 'May'}; // converted string array to a List using asList System.out.println('The string array converted to list:'); List month_list = Arrays.asList(months); System.out.println(month_list); } }
Výstup:
Výše uvedený program demonstruje použití metody ‚asList 'třídy Arrays. Zde jsme deklarovali pole řetězců a předali jej metodě asList, abychom získali seznam.
# 2) binární vyhledávání
Prototyp: static int binarySearch (int () a, int klíč)
Parametry:
a => pole, ve kterém má být klíč prohledán
Klíč => hodnota prvku, která má být prohledána
Návratová hodnota: int => pozice (index), na které je klíč nalezen, jinak vrátí (- („kurzor“) - 1).
Popis: Vyhledá zadaný klíč v daném poli pomocí binárního vyhledávacího algoritmu. Aby binární vyhledávání fungovalo, je třeba pole seřadit. Pokud pole není tříděno, pak jsou výsledky nedefinované. Také pokud v poli existuje více umístění pro stejnou hodnotu klíče, vrácená pozice není zaručena.
Příklad:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { // define the Array int numArr() = { 23,43,26,65,35,16,74,27,98 }; //sort the array first Arrays.sort(numArr); System.out.println('Input array:' + Arrays.toString(numArr)); int key = 35; //call binarySearch function to search a given key System.out.println('Key ' + key + ' found at index = ' + Arrays .binarySearch(numArr, key)); } }
Výstup:
Ve výše uvedeném programu nejprve seřadíme vstupní pole, protože pro binarySearch by mělo být pole seřazeno. Poté se pole a klíč, který má být prohledán, předány metodě „binarySearch“. Ve výstupu je zobrazen index, ve kterém je klíč nalezen.
Prototyp: static int binarySearch (int () a, int fromIndex, int toIndex, int klíč)
Parametry:
a => pole, které má být prohledáno
fromIndex => počáteční index rozsahu, ve kterém má být klíč prohledán
toIndex => index posledního prvku v rozsahu
key => klíč, který má být vyhledán
Návratová hodnota: index klíčového prvku se nachází ve specifikovaném rozsahu. Jinak se vrátí (- („kurzor“) - 1).
Popis: Toto přetížení binarySearch vyhledá hodnotu klíče v zadaném rozsahu pole a vrátí pozici indexu klíčového prvku, pokud je nalezen. Aby binární vyhledávání fungovalo, je třeba řadit pole, a tedy i rozsah. Pokud není seřazen, jsou výsledky nedefinované.
Příklad:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { int numArr() = { 23,43,26,65,35,16,74,27,98 }; // define the Array Arrays.sort(numArr); //sort the array first System.out.println('Input array:' + Arrays.toString(numArr)); int key = 35; //call binarySearch function to search a given key System.out.println('Key ' + key + ' found at index = ' + Arrays .binarySearch(numArr,3,7, key)); } }
Výstup:
Výše uvedený program je stejný jako ten předchozí s tím rozdílem, že při volání metody binarySearch jsme určili rozsah pole, ve kterém má být vyhledávání prováděno.
# 3) copyOf
Prototyp: statický int () copyOf (int () originál, int nová délka)
Parametry:
original => pole ke kopírování
newLength => délka zkopírovaného pole
Návratová hodnota: Nové pole zkopírované z originálu a polstrované nebo zkrácené nulami v závislosti na zadané délce.
Popis: Zkopíruje původní pole do nového pole a vyloží nebo zkrátí jej nulami v závislosti na zadané délce.
Příklad:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the Array String strArr() = {'Java', 'Python', 'Perl', 'C', 'Ruby'}; // print the original array System.out.println('Original String Array: ' + Arrays.toString(strArr)); //copy the array into new array using copyOf and print it System.out.println('Copied Array: ' + Arrays.toString( Arrays.copyOf(strArr, 5))); } }
Výstup:
Výše uvedený program demonstruje použití metody ‚copyOf 'třídy Arrays, která zkopíruje dané pole do nového. Výše uvedený program zkopíruje původní pole řetězců do nového pole.
# 4) copyOfRange
Prototyp: statický int () copyOfRange (int () originál, int od, int do)
Parametry:
original => pole, ze kterého se mají kopírovat hodnoty v rozsahu
Od => první index rozsahu
To => poslední index rozsahu
Návratová hodnota: Nové pole s hodnotami ze zadaného rozsahu se zkrácenými nebo polstrovanými nulami pro získání požadované délky.
Popis: Zkopíruje rozsah zadaný z daného pole do nového pole. Zahájený index pole by měl být včetně mezi 0 a original.length. Koncový index může být exkluzivní.
Příklad:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the Array String strArr() = {'Java', 'Python', 'Perl', 'C', 'Ruby'}; // print the original array System.out.println('Original String Array: ' + Arrays.toString(strArr)); //copy the array into new array using copyOfRange and print it System.out.println('Copied Range of Array: ' + Arrays.toString( Arrays.copyOfRange(strArr,1,3))); } }
Výstup:
jaký je nejlepší bezplatný stahovač YouTube?
Upravili jsme předchozí program tak, aby používal metodu ‚copyOfRange ', která zkopíruje konkrétní rozsah z pole a vytvoří nové pole. Ve výše uvedeném programu jsme určili rozsah jako 1, 3. Proto výstup ukazuje nové pole 2 prvků.
# 5) Rovná se
Prototyp: static boolean equals (int () a, int () a2)
Parametry:
na => první pole, které má být testováno na rovnost
A2 => druhé pole, které má být testováno na rovnost
Návratová hodnota: Vrátí true, pokud jsou obě pole stejná.
Popis: Tato metoda kontroluje, zda jsou obě pole stejná, a vrací výsledky. O dvou polích se říká, že jsou si rovna, pokud mají obě pole stejný počet prvků a odpovídající prvky v obou polích jsou stejné.
Příklad:
import java.util.Arrays; public class Main { public static void main(String() args) { // define two arrays, array_One and array_Two int() array_One = { 1, 3, 5, 7 }; int() array_Two = { 1, 3, 5, 7 }; //print the arrays System.out.println('array_One = ' + Arrays.toString(array_One)); System.out.println('array_Two = ' + Arrays.toString(array_Two)); //use equals method to check for equality of arrays booleanarray_equal = Arrays.equals(array_One, array_Two); //print the results if (array_equal) { System.out.println('equals method returns ' + array_equal + ', hence arrays array_One and array_Two are equal
'); }else { System.out.println('equals method returns ' + array_equal + ', hence arrays array_One and array_Two are not equal
'); } // define two more arrays, firstArray&secondArray int() firstArray = { 2, 4, 6, 8 }; int() secondArray = { 1, 3, 5, 7}; //display these arrays System.out.println('firstArray = ' + Arrays.toString(firstArray)); System.out.println('secondArray = ' + Arrays.toString(secondArray)); //use equals method to check equality of arrays boolean test_array = Arrays.equals(firstArray, secondArray); //print the results if (test_array) { System.out.println('equals method returns ' + test_array + ', hence arrays firstArray and secondArray are equal
'); }else { System.out.println('equals method returns ' + test_array + ', hence arrays firstArray and secondArray are not equal
'); } } }
Výstup:
nejlepší zdarma DVD Ripper Windows 10
Výše uvedený program demonstruje metodu „rovná se“. Zde jsme použili dvě sady polí a dvakrát jsme je nazvali „rovná se“. V prvním volání rovnosti jsou obě pole stejná, a proto metoda vrací true. Ve druhém volání rovnosti jsou dvě pole odlišná a metoda vrátí hodnotu false.
# 6) Vyplňte
Prototyp: static void fill (int () a, int val)
Parametry:
a => pole k vyplnění
val => hodnota, která se vyplní na všech místech v poli
Návratová hodnota: Žádný
Popis: Vyplní pole zadanou hodnotou.
Příklad:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = { 1, 3, 5, 7 }; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call fill method to fill the array with all zeros Arrays.fill(intArray, 0); //print altered array System.out.println('Array after call to fill:' + Arrays.toString(intArray)); } }
Výstup:
Výše uvedený program ukazuje základní verzi metody výplně. Zde jen vyplníme celé pole jinou hodnotou. V tomto případě jsme pole vyplnili všemi nulami.
Prototyp: static void fill (int () a, int fromIndex, int toIndex, int val)
Parametry:
a => pole, jehož rozsah má být vyplněn
fromIndex => počáteční index rozsahu
toIndex => koncový index rozsahu
val => hodnota, kterou mají být vyplněny prvky v rozsahu
Návratová hodnota: Žádný
Popis: Vyplní zadaný rozsah od fromIndex do toIndex v poli „a“ zadanou hodnotou. Pokud fromIndex = toIndex, pak rozsah, který má být vyplněn, je prázdný.
Příklad:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = { 1, 3, 5, 7, 9, 11, 13, 15,17}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call fill method to fill the range (2,6) in the array with zeros Arrays.fill(intArray, 2, 6, 0); //print altered array System.out.println('Array after call to fill the range(2,6):' + Arrays.toString(intArray)); } }
Výstup:
Toto je další verze metody výplně, kde v poli určíme konkrétní rozsah, který má být vyplněn jinou hodnotou. Ve výše uvedeném programu jsme určili rozsah (2, 6), který má být vyplněn nulami. Ostatní prvky zůstávají stejné jako na výstupu.
# 7) Třídit
Prototyp: static void sort (int () a)
Parametry: a => pole k seřazení
Návratová hodnota: Žádný
Popis: Tato metoda seřadí pole ve vzestupném pořadí.
Příklad:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = {10,4,25,63,21,51,73,24,87,18}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call sort method to sort the given array in ascending order Arrays.sort(intArray); //print altered array System.out.println('Sorted array:' + Arrays.toString(intArray)); } }
Výstup:
Výše uvedený program třídí pole celých čísel pomocí metody třídění třídy Arrays a vytiskne seřazené pole.
Prototyp: static void sort (int () a, int fromIndex, int toIndex)
Parametry:
a => pole, ze kterého se má řadit rozsah
fromIndex => počáteční index rozsahu
toIndex => koncový index rozsahu
Návratová hodnota: žádný
Popis: Seřadí rozsah zadaný od indexu do indexu ve vzestupném pořadí. Pokud fromIndex = toIndex, pak rozsah, který má být tříděn, je prázdný.
Příklad:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = {10,4,25,63,21,51,73,24,87,18}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call sort method to sort the given range in the array in ascending order Arrays.sort(intArray, 2, 7); //print altered array System.out.println('Sorted range(2,7) in the array:' + Arrays.toString(intArray)); } }
Výstup:
Výše uvedený program demonstruje variaci metody řazení. V tomto můžeme určit rozsah, přes který se má pole řadit. Prvky mimo tento rozsah nejsou seřazeny. Ve výše uvedeném programu je rozsah (2,7) v daném poli zadán tak, aby byl tříděn metodou třídění.
Proto ve výstupu vidíme, že pouze prvky v tomto rozsahu jsou seřazeny ve vzestupném pořadí.
# 8) toString
Prototyp: static String toString (int () a)
Parametry: a => pole, jehož řetězcová reprezentace je vyžadována
Návratová hodnota: string => řetězcové vyjádření pole
Popis: Převede dané pole na jeho řetězcovou reprezentaci.
Příklad:
import java.util.*; public class Main { public static void main(String() args) { //declare arrays of type int and double int() intArray = {10,20,30,40,50}; double() dblArray = {1.0,2.0,3.0,4.0,5.0}; System.out.println('String representation of int Array: '); //print string representation of int array using toString System.out.println(Arrays.toString(intArray)); System.out.println('
String representation of double Array: '); //print string representation of double array using toString System.out.println(Arrays.toString(dblArray)); } }
Výstup:
Ve výše uvedeném příkladu jsme použili metodu toString, která převádí pole na řetězcovou reprezentaci. Abychom demonstrovali tuto metodu, použili jsme dvě pole, každé typu int a double. Potom pomocí metody toString se každé z tohoto pole převede na odpovídající řetězcovou reprezentaci zobrazenou na výstupu.
# 9) hashCode
Prototyp: static int hashCode (int () a)
Parametry: a => pole, jehož hashcode má být vypočítán.
Návratová hodnota: int => vypočítán hashcode
Popis: Metoda vrací hashcode daného pole. The hashcode a Jáva Objekt je ve skutečnosti 32bitové číslo (signed int). Pomocí hashcode můžete spravovat objekt pomocí struktury založené na hash.
Hashcode je přidělen JVM objektu a je obvykle jedinečný, pokud se tyto dva objekty navzájem nerovnají, v takovém případě budou mít oba objekty stejný hashcode.
Příklad:
import java.util.*; public class Main { public static void main(String() args) { //declare arrays of type int int() intArray = {10,20,30,40,50}; //print the input array System.out.println('The input Array: ' + Arrays.toString(intArray)); //get hashcode of the array using 'hashCode' method of array inthashCde = Arrays.hashCode(intArray); //print the hashCode System.out.println('The hashCode for input array:' + hashCde); } }
Výstup:
Metoda hashCode vypočítá hashcode pro dané pole předané jako argument.
Často kladené otázky
Otázka 1) Co jsou pole java.util?
Odpovědět: Třída java.util.Arrays sahá od třídy java.lang.Object. Třída Arrays obsahuje metodu, která představuje pole jako seznam. Obsahuje také různé metody pro manipulaci s poli, jako je třídění, vyhledávání, reprezentace polí jako řetězců atd.
Otázka 2) Které třídění se používá v polích řazení v Javě?
Odpovědět: Metoda třídění třídy Arrays v Javě používá dvě techniky třídění. Při použití primitivních typů používá quicksort, zatímco při použití objektů, které implementují srovnatelné rozhraní, se použije sloučení.
Otázka č. 3) Co dělá metoda Arrays.sort () v Javě?
Odpovědět: Metoda Arrays.sort () v Javě má různá přetížení, pomocí kterých můžete provádět třídění na polích. Má přetížení pro třídění polí různých primitivních datových typů.
Kromě toho má metoda Arrays.sort () různá přetížení pro třídění pole v zadaném rozsahu. Kromě toho nám metoda Arrays.sort () také umožňuje třídit v závislosti na poskytnutém komparátoru.
Otázka č. 4) Co jsou třídy kolekcí a polí?
Odpovědět: Kolekce mají dynamickou povahu a třída Collections poskytuje přímé metody, které působí na kolekce. Pole jsou statické povahy a mají pole třídy, která poskytují metody pro manipulaci s poli.
Nejedná se ale o přímé metody, tj. Objekty Array nemohou tyto metody vyvolat. Místo toho je objekt pole předán jako argument těmto metodám.
Závěr
Třída Arrays patří do balíčku java.util a vychází ze třídy java.lang.Object. Třída Arrays obsahuje metody, které se používají k manipulaci s poli. Mezi tyto metody patří metody používané pro třídění polí, vyhledávání konkrétního prvku v polích, vyplňování pole konkrétní hodnotou, metody pro porovnání polí atd.
Každá z těchto metod má různá přetížení, která umožňují programátorovi vyvolat tyto metody na polích různých datových typů a také na částech nebo celých polích.
V tomto kurzu jsme probrali většinu metod třídy polí. Také jsme viděli stručný popis a příklady hlavních metod. Tyto příklady lze replikovat pro různé datové typy a necháme to na vás.
=> Navštivte zde a dozvíte se Java od začátku.
Doporučené čtení
- Výukový program Java Array Length s příklady kódu
- Jagged Array In Java - výukový program s příklady
- Výukový program JAVA pro začátečníky: 100+ praktických výukových programů Java Video
- Co je Java Vector | Výukový program Java Vector Class s příklady
- Jak řadit pole v Javě - návod s příklady
- Obrátit pole v Javě - 3 metody s příklady
- Generické pole Java - Jak simulovat obecná pole v Javě?
- Java Copy Array: Jak kopírovat / klonovat pole v Javě