Занятие 6. Справочник

Занятие 6. Справочник

Создание массива

int[] arr = new int[10];
или
int arr[] = new int[10];
Создается массив с именем arr размером на 10 ячеек типа int. С инициализацией:
double[] arr = new double[n]{2.0, 3.5, -1};

Ввод (считывание) массива из N элементов

for (int i = 0; i < N; i++)
{
	a[i] = in.nextInt();
}

Вывод всех элементов массива

for (int i = 0; i < N; i++)
{
	out.print( a[i] + " ");
}

Поиск максимума

int max = a[0];
for (int i = 1; i < N; i++)
{
	if (max < a[i])
	{
		max = a[i];
}

Поиск индекса максимального

int imax = 0;
for (int i = 1; i < N; i++)
{
	if (a[imax] < a[i])
	{
		imax = i;
}

Поиск произвольного числа в массиве

int r = -1; // индекс элемента, равного x
int i = 0;
while (a[i] != x && i < N)
{
     i++;
}
Если r после цикла останется -1 – элемент не найден.

"Разворот" массива


1 вариант
for (int i = 0; i < N / 2; i++)
{
	int t = a[i];
	a[i] = a[N - i - 1];
	a[N – i - 1] = t;
}
2 вариант
int left = 0;
int right = N - 1;
while(left < right)
{
	int t = a[left];
	a[left] = a[right];
	a[right] = t;
        left++;
        right--;
}

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

static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
          Copies an array from the specified source array, beginning at the specified position, to the specified position of the destination array.

Пример
int[] a = new int[]{1, 2, 3, 5, 6, 3, 2};
int[] b = new int[]{7, 1, 4, 4, 5, 2}
System.arraycopy(a, 2, b, 1, 3);
Из массива a, начиная со второго (третьего по счету) в массив b скопируются 3 символа. Причем, они будут размещены с первого (второго по счету) места в массиве b. Таким образом, массив b станет таким: 7, 3, 5, 6, 5, 2.