Работа с массивами в Java

Если программе необходимо работать с несколькими значениями одного и того же типа данных, вы можете объявить переменную для каждого числа. Например, программа, отображающая номера лотереи:

 
 int lotteryNumber1 = 16; 
 int lotteryNumber2 = 32; 
 int lotteryNumber3 = 12; 
 int lotteryNumber4 = 23; 
 int lotteryNumber5 = 33; 

Более элегантный способ работы со значениями, которые могут быть сгруппированы вместе, – использовать массив. Массив – это контейнер, содержащий фиксированное количество значений типа данных. В приведенном выше примере номера лотереи могут быть сгруппированы в массив int:

 int [] lotteryNumbers = {16,32,12,23,33  , 20}; 

Думайте о массиве как о ряду ящиков. Количество ящиков в массиве не может измениться. Каждое поле может содержать значение, если оно имеет тот же тип данных, что и значения, содержащиеся в других полях. Вы можете заглянуть внутрь блока, чтобы увидеть, какое значение он содержит, или заменить содержимое блока другим значением. Говоря о массивах, блоки называются элементами.

Объявление и инициализация массива

Оператор объявления для массива: аналогично тому, который используется для объявления любой другой переменной. Он содержит тип данных, за которым следует имя массива – единственное отличие заключается во включении квадратных скобок рядом с типом данных:

 
 int [] intArray; 
 float [] floatArray; 

Приведенные выше операторы объявления сообщают компилятору, что

 intArray 

переменная – это массив

 int 

,

 floatArray 

– массив

 float  

и

charArray
 intArray = new int [10]; 

Число в скобках определяет, сколько элементов содержит массив. Приведенный выше оператор присваивания создает массив int из десяти элементов. Конечно, нет причин, по которым объявление и присвоение не могут происходить в одном операторе:

 float [] floatArray = new float [10]; 

Массивы не ограничиваются примитивными типами данных. Можно создавать массивы объектов:

 String [] names = new String [5]; 

Использование массива

После инициализации массива элементам могут быть присвоены значения с помощью индекса массива. Индекс определяет позицию каждого элемента в массиве. Первый элемент имеет значение 0, второй элемент - 1 и так далее. Важно отметить, что индекс первого элемента равен 0. Легко подумать, что, поскольку в массиве десять элементов, индекс будет от 1 до 10, а не от 0 до 9.. Например, если мы вернемся к примеру с лотерейными номерами, мы можем создать массив, содержащий 6 элементов, и присвоить им номера лотереи:

 
 int [] lotteryNumbers = new int [6]; 
 lotteryNumbers [0] = 16; 
 lotteryNumbers [1] = 32; 
 lotteryNumbers [2] = 12; 
 lotteryNumbers [3] = 23; 
 lotteryNumbers [4] = 33; 

Существует ярлык для заполнения элементов в массиве, помещая значения для элементов в оператор объявления:

 
 int [] lotteryNumbers = {16,32,12,23,33,20}; 

Значения для каждого элемента помещаются в пару фигурных скобок. Порядок значений определяет, какому элементу присваивается значение, начиная с позиции индекса 0. Количество элементов в массиве определяется количеством значений в фигурных скобках.

Чтобы получить значение элемента, используется его индекс:

 System.out.println ("Значение первого элемента -"  + lotteryNumbers [0]); 

Чтобы узнать, сколько элементов имеет массив, используйте поле длины:

 System.out.println ("Массив lotteryNumbers содержит элементы" + lotteryNumbers.length + "); 

Примечание. Распространенной ошибкой при использовании метода длины является забвение значения длины в качестве позиции индекса. Это всегда будет приводить к ошибке, поскольку позиции индекса в массиве от 0 до длины - 1.

Многомерные массивы

Массивы, которые мы рассматривали до сих пор, известны как одномерные (или одномерные) массивы. Это означает, что у них есть только один ряд элементов. Однако массивы могут иметь более одного измерения. На самом деле многомерное - это массив, содержащий массивы:

 int [] [] lotteryNumbers = {{16,32,12,23,33,20},  {34,40,3,11,33,24}}; 

Индекс многомерного массива состоит из двух чисел:

 System.out.println ("Значение элемента 1,4 равно" + lotteryNumbers [1] [4]); 

Хотя длина массивов, содержащихся в многомерном массиве, не обязательно должна быть одинаковой длины:

 String [] [] names  = new String [5] [7]; 

Копирование массива

Чтобы скопировать массив, самый простой способ - использовать метод

 arraycopy 

класса System. Метод

 arraycopy 

можно использовать для копирования всех элементов массива или их части.. В

 arraycopy 
 public static void arraycopy передается пять параметров (Object src, int srcPos, Object dest, int destPos, int length) 

Например, чтобы создать новый массив, содержащий последние четыре элемента

 int 
 
 int [] lotteryNumbers = {16,32,12,23,33,20}; 
 int [] newArrayNumbers = new int [4  ]; 

Поскольку массивы имеют фиксированную длину,

 arraycopy 

Чтобы расширить свои знания о массивах, вы можете узнать об управлении массивами с помощью класса Arrays и создании динамических массивов (т. Е. Массивов, когда количество элементов не является фиксированным числом) с помощью класса ArrayList.

Оцените статью
recture.ru
Добавить комментарий