Рубрики

Класс массивов в Java

Класс Arrays в пакете java.util является частью платформы Java Collection Framework . Этот класс предоставляет статические методы для динамического создания и доступа к массивам Java . Он состоит только из статических методов и методов класса Object. Методы этого класса могут использоваться самим именем класса.

Классовая иерархия:

java.lang.Object
 ↳ java.util.Arrays

Декларация класса:

public class Arrays
    extends Object

Синтаксис для использования Array:

Arrays.<function name>;

Потребность в классе Java-массивов:
Часто циклы используются для выполнения некоторых задач в массиве, например:

  • Заполните массив определенным значением.
  • Сортировать массивы.
  • Поиск в массивах.
  • И многое другое

Класс Arrays предоставляет несколько статических методов, которые можно использовать для выполнения этих задач напрямую, без использования циклов.

Методы в массиве Java:

Класс Arrays пакета java.util содержит несколько статических методов, которые можно использовать для заполнения, сортировки, поиска и т. Д. В массивах. Эти:

  1. static <T> List <T> asList (T… a) : этот метод возвращает список фиксированного размера, поддерживаемый указанными массивами.

    // Java-программа для демонстрации
    // метод Arrays.asList ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Чтобы преобразовать элементы в список

            System.out.println("Integer Array as List: "

                               + Arrays.asList(intArr));

        }

    }

    Выход :

    Integer Array as List: [[I@232204a1]
    
  2. static int binarySearch (elementToBeSearched) : эти методы ищут указанный элемент в массиве с помощью алгоритма двоичного поиска.

    // Java-программа для демонстрации
    // метод Arrays.binarySearch ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            Arrays.sort(intArr);

      

            int intKey = 22;

      

            System.out.println(intKey

                               + " found at index = "

                               + Arrays

                                     .binarySearch(intArr, intKey));

        }

    }

    Выход :

    22 found at index = 3
    
  3. static <T> int binarySearch (T [] a, int fromIndex, int toIndex, ключ T, Comparator <T> c) : этот метод ищет диапазон указанного массива для указанного объекта, используя алгоритм двоичного поиска.

    // Java-программа для демонстрации
    // метод Arrays.binarySearch ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            Arrays.sort(intArr);

      

            int intKey = 22;

      

            System.out.println(

                intKey

                + " found at index = "

                + Arrays

                      .binarySearch(intArr, 1, 3, intKey));

        }

    }

    Выход :

    22 found at index = -4
    
  4. сравнить (массив 1, массив 2) : этот метод сравнивает два массива, переданных как параметры, лексикографически.

    // Java-программа для демонстрации
    // метод Arrays.compare ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Получить второй массив

            int intArr1[] = { 10, 15, 22 };

      

            // Для сравнения обоих массивов

            System.out.println("Integer Arrays on comparison: "

                               + Arrays.compare(intArr, intArr1));

        }

    }

    Выход:

    Integer Arrays on comparison: 1
    
  5. compareUnsigned (массив 1, массив 2) : этот метод сравнивает два массива лексикографически, численно обрабатывая элементы как беззнаковые.

    // Java-программа для демонстрации
    // метод Arrays.compareUnsigned ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массивы

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Получить второй массив

            int intArr1[] = { 10, 15, 22 };

      

            // Для сравнения обоих массивов

            System.out.println("Integer Arrays on comparison: "

                               + Arrays.compareUnsigned(intArr, intArr1));

        }

    }

    Выход:

    Integer Arrays on comparison: 1
    
  6. copyOf (originalArray, newLength) : Этот метод копирует указанный массив, обрезая или дополняя значением по умолчанию (при необходимости), чтобы копия имела указанную длину.

    // Java-программа для демонстрации
    // метод Arrays.copyOf ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Для печати элементов в одну строку

            System.out.println("Integer Array: "

                               + Arrays.toString(intArr));

      

            System.out.println("\nNew Arrays by copyOf:\n");

      

            System.out.println("Integer Array: "

                               + Arrays.toString(

                                     Arrays.copyOf(intArr, 10)));

        }

    }

    Выход :

    Integer Array: [10, 20, 15, 22, 35]
    
    New Arrays by copyOf:
    
    Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]
    
  7. copyOfRange (originalArray, fromIndex, endIndex) : этот метод копирует указанный диапазон указанного массива в новые массивы.

    // Java-программа для демонстрации
    // метод Arrays.copyOfRange ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Для печати элементов в одну строку

            System.out.println("Integer Array: "

                               + Arrays.toString(intArr));

      

            System.out.println("\nNew Arrays by copyOfRange:\n");

      

            // Копировать массив в массив новой длины

            System.out.println("Integer Array: "

                               + Arrays.toString(

                                     Arrays.copyOfRange(intArr, 1, 3)));

        }

    }

    Выход :

    Integer Array: [10, 20, 15, 22, 35]
    
    New Arrays by copyOfRange:
    
    Integer Array: [20, 15]
    
  8. static boolean deepEquals (Object [] a1, Object [] a2) : этот метод возвращает значение true, если два указанных массива глубоко совпадают друг с другом.

    // Java-программа для демонстрации
    // метод Arrays.deepEquals ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массивы

            int intArr[][] = { { 10, 20, 15, 22, 35 } };

      

            // Получить второй массив

            int intArr1[][] = { { 10, 15, 22 } };

      

            // Для сравнения обоих массивов

            System.out.println("Integer Arrays on comparison: "

                               + Arrays.deepEquals(intArr, intArr1));

        }

    }

    Выход :

    Integer Arrays on comparison: false
    
  9. static int deepHashCode (Object [] a) : этот метод возвращает хэш-код, основанный на «глубоком содержимом» указанных массивов.

    // Java-программа для демонстрации
    // метод Arrays.deepHashCode ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[][] = { { 10, 20, 15, 22, 35 } };

      

            // Получить dep hashCode массивов

            System.out.println("Integer Array: "

                               + Arrays.deepHashCode(intArr));

        }

    }

    Выход :

    Integer Array: 38475344
    
  10. static String deepToString (Object [] a) : этот метод возвращает строковое представление «глубокого содержимого» указанных массивов.

    // Java-программа для демонстрации
    // метод Arrays.deepToString ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[][] = { { 10, 20, 15, 22, 35 } };

      

            // Чтобы получить глубокую строку массивов

            System.out.println("Integer Array: "

                               + Arrays.deepToString(intArr));

        }

    }

    Выход :

    Integer Array: [[10, 20, 15, 22, 35]]
    
  11. равно (массив1, массив2) : этот метод проверяет, равны ли оба массива или нет.

    // Java-программа для демонстрации
    // метод Arrays.equals ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массивы

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Получить второй массив

            int intArr1[] = { 10, 15, 22 };

      

            // Для сравнения обоих массивов

            System.out.println("Integer Arrays on comparison: "

                               + Arrays.equals(intArr, intArr1));

        }

    }

    Выход :

    Integer Arrays on comparison: false
    
  12. fill (originalArray, fillValue) : этот метод назначает это fillValue каждому индексу этого массива.

    // Java-программа для демонстрации
    // метод Arrays.fill ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массивы

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            int intKey = 22;

      

            Arrays.fill(intArr, intKey);

      

            // Заполнить массивы

            System.out.println("Integer Array on filling: "

                               + Arrays.toString(intArr));

        }

    }

    Выход :

    Integer Array on filling: [22, 22, 22, 22, 22]
    
  13. hashCode (originalArray) : этот метод возвращает целочисленный hashCode этого экземпляра массива.

    // Java-программа для демонстрации
    // метод Arrays.hashCode ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Получить хеш-код массивов

            System.out.println("Integer Array: "

                               + Arrays.hashCode(intArr));

        }

    }

    Выход :

    Integer Array: 38475313
    
  14. mismatch (array1, array2) : этот метод находит и возвращает индекс первого несопоставленного элемента между двумя указанными массивами.

    // Java-программа для демонстрации
    // метод Arrays.mismatch ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массивы

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Получить второй массив

            int intArr1[] = { 10, 15, 22 };

      

            // Для сравнения обоих массивов

            System.out.println("The element mismatched at index: "

                               + Arrays.mismatch(intArr, intArr1));

        }

    }

    Выход:

    The element mismatched at index: 1
    
  15. parallelPrefix (originalArray, fromIndex, endIndex, functionsOperator) : этот метод выполняет функциюrallelPrefix для заданного диапазона массива с указанным функциональным оператором.
  16. parallelPrefix (originalArray, operator) : этот метод выполняет parallelPrefix для полного массива с указанным функциональным оператором.
  17. parallelSetAll (originalArray, functionsGenerator) : этот метод устанавливает все элементы этого массива параллельно, используя предоставленную функцию генератора.
  18. parallelSort (originalArray) : этот метод сортирует указанный массив с помощью параллельной сортировки.

    // Java-программа для демонстрации
    // метод Arrays.parallelSort ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Сортировать массив с помощью parallelSort

            Arrays.parallelSort(intArr);

      

            System.out.println("Integer Array: "

                               + Arrays.toString(intArr));

        }

    }

    Выход :

    Integer Array: [10, 15, 20, 22, 35]
    
  19. setAll (originalArray, functionsGenerator) : этот метод устанавливает все элементы указанного массива, используя предоставленную функцию генератора.
  20. sort (originalArray) : этот метод сортирует весь массив в порядке возрастания.

    // Java-программа для демонстрации
    // метод Arrays.sort ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Сортировать массив, используя обычную сортировку

            Arrays.sort(intArr);

      

            System.out.println("Integer Array: "

                               + Arrays.toString(intArr));

        }

    }

    Выход :

    Integer Array: [10, 15, 20, 22, 35]
    
  21. sort (originalArray, fromIndex, endIndex) : этот метод сортирует указанный диапазон массива в порядке возрастания.

    // Java-программа для демонстрации
    // метод Arrays.sort ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Сортировать массив с помощью обычной сортировки

            Arrays.sort(intArr, 1, 3);

      

            System.out.println("Integer Array: "

                               + Arrays.toString(intArr));

        }

    }

    Выход :

    Integer Array: [10, 15, 20, 22, 35]
    
  22. static <T> void sort (T [] a, int fromIndex, int toIndex, Comparator c) : этот метод сортирует указанный диапазон указанного массива объектов в соответствии с порядком, заданным указанным компаратором.

    // Java-программа для демонстрации работы Comparator
    // интерфейс

    import java.util.*;

    import java.lang.*;

    import java.io.*;

      
    // Класс для представления студента.

    class Student {

        int rollno;

        String name, address;

      

        // Конструктор

        public Student(int rollno, String name,

                       String address)

        {

            this.rollno = rollno;

            this.name = name;

            this.address = address;

        }

      

        // Используется для печати сведений о студенте в main ()

        public String toString()

        {

            return this.rollno + " "

                + this.name + " "

                + this.address;

        }

    }

      

    class Sortbyroll implements Comparator<Student> {

        // Используется для сортировки в порядке возрастания

        // номер рулона

        public int compare(Student a, Student b)

        {

            return a.rollno - b.rollno;

        }

    }

      
    // Класс водителя

    class Main {

        public static void main(String[] args)

        {

            Student[] arr = { new Student(111, "bbbb", "london"),

                              new Student(131, "aaaa", "nyc"),

                              new Student(121, "cccc", "jaipur") };

      

            System.out.println("Unsorted");

            for (int i = 0; i < arr.length; i++)

                System.out.println(arr[i]);

      

            Arrays.sort(arr, 1, 2, new Sortbyroll());

      

            System.out.println("\nSorted by rollno");

            for (int i = 0; i < arr.length; i++)

                System.out.println(arr[i]);

        }

    }

    Выход :

    Unsorted
    111 bbbb london
    131 aaaa nyc
    121 cccc jaipur
    
    Sorted by rollno
    111 bbbb london
    131 aaaa nyc
    121 cccc jaipur
    
  23. static <T> void sort (T [] a, Comparator c) : этот метод сортирует указанный массив объектов в соответствии с порядком, заданным указанным компаратором.

    // Java-программа для демонстрации работы Comparator
    // интерфейс

    import java.util.*;

    import java.lang.*;

    import java.io.*;

      
    // Класс для представления студента.

    class Student {

        int rollno;

        String name, address;

      

        // Конструктор

        public Student(int rollno, String name,

                       String address)

        {

            this.rollno = rollno;

            this.name = name;

            this.address = address;

        }

      

        // Используется для печати сведений о студенте в main ()

        public String toString()

        {

            return this.rollno + " "

                + this.name + " "

                + this.address;

        }

    }

      

    class Sortbyroll implements Comparator<Student> {

      

        // Используется для сортировки в порядке возрастания

        // номер рулона

        public int compare(Student a, Student b)

        {

            return a.rollno - b.rollno;

        }

    }

      
    // Класс водителя

    class Main {

        public static void main(String[] args)

        {

            Student[] arr = { new Student(111, "bbbb", "london"),

                              new Student(131, "aaaa", "nyc"),

                              new Student(121, "cccc", "jaipur") };

      

            System.out.println("Unsorted");

            for (int i = 0; i < arr.length; i++)

                System.out.println(arr[i]);

      

            Arrays.sort(arr, new Sortbyroll());

      

            System.out.println("\nSorted by rollno");

            for (int i = 0; i < arr.length; i++)

                System.out.println(arr[i]);

        }

    }

    Выход :

    Unsorted
    111 bbbb london
    131 aaaa nyc
    121 cccc jaipur
    
    Sorted by rollno
    111 bbbb london
    121 cccc jaipur
    131 aaaa nyc
    
  24. spliterator (originalArray) : этот метод возвращает Spliterator, охватывающий все указанные массивы.

    // Java-программа для демонстрации
    // метод Arrays.spliterator ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Сортировать массив с помощью обычной сортировки

            System.out.println("Integer Array: "

                               + Arrays.spliterator(intArr));

        }

    }

    Выход :

    Integer Array: java.util.Spliterators$IntArraySpliterator@232204a1
    
  25. spliterator (originalArray, fromIndex, endIndex) : этот метод возвращает Spliterator типа массива, охватывающего указанный диапазон указанных массивов.

    // Java-программа для демонстрации
    // метод Arrays.spliterator ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Сортировать массив с помощью обычной сортировки

            System.out.println("Integer Array: "

                               + Arrays.spliterator(intArr, 1, 3));

        }

    }

    Выход :

    Integer Array: java.util.Spliterators$IntArraySpliterator@232204a1
    
  26. stream (originalArray) : этот метод возвращает последовательный поток с указанным массивом в качестве источника.

    // Java-программа для демонстрации
    // метод Arrays.stream ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Получить поток из массива

            System.out.println("Integer Array: "

                               + Arrays.stream(intArr));

        }

    }

    Выход :

    Integer Array: java.util.stream.IntPipeline$Head@4aa298b7
    
  27. toString (originalArray) : этот метод возвращает строковое представление содержимого этого массива. Строковое представление состоит из списка элементов массива, заключенного в квадратные скобки («[]»). Смежные элементы разделяются символами запятой, за которой следует пробел. Элементы преобразуются в строки как с помощью функции String.valueOf ().

    // Java-программа для демонстрации
    // метод Arrays.toString ()

      

    import java.util.Arrays;

      

    public class Main {

        public static void main(String[] args)

        {

      

            // Получить массив

            int intArr[] = { 10, 20, 15, 22, 35 };

      

            // Для печати элементов в одну строку

            System.out.println("Integer Array: "

                               + Arrays.toString(intArr));

        }

    }

    Выход :

    Integer Array: [10, 20, 15, 22, 35]
    

Эта статья предоставлена Rishabh Mahrsee . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой теме

Рекомендуемые посты:

Класс массивов в Java

0.00 (0%) 0 votes