woodMass

Речь в данной записи, как можно понять по охеренной мега картинке, пойдёт о массивах в Java и работе с ним.  Код в блоках можно по порядку запихивать в main(String[] args) метод и заиметь рабочий код и уважение. В комментариях строк «System.out.println(…)» указано то, что выводится в консольку. Ну чтож начнём по порядку:

  • Массив может содержать примитивные типы данных:
    1. //пустой массив который может содержать 10 символов.
    2. int[] primArray = new int[10];
    3. // массив содержащий 3 элемента(числа): 1,2,3
    4. int primArray2[] = {1, 2, 3};
    5. //! Обратите внимание можно так: int[] primArray или так: int primArray2[]
  • К элементам массива можно обращатся по индексу(их порядковому номеру начиная с 0):
    1. System.out.println(primArray2[0]); //1
    2. System.out.println(primArray2[2]); //3
  • Размер массива можно узнать используя переменную length:
    1. System.out.println(primArray.length); //10
    2. System.out.println(primArray2.length); //3
  • А вот так можно изменить элемент массива:
    1. primArray2[0] = 666;
    2. System.out.println(primArray2[0]); //666
  • Массивы могут содержать ссылки на объекты, а не только примитивные типы:
    1. Object[] objArray = new Object[10];
  • Массив — это тоже объект:
    1. System.out.println(primArray.getClass().getCanonicalName()); //int[]
  • Если в массив объектов попробовать положить число то оно будет приобразовано в объект класса обёртки над числом:
    1. objArray[0] = 1;
    2. System.out.println(objArray[0].getClass().getCanonicalName()); //java.lang.Integer
  • Как любой объект массивы могут иметь ссылки:
    1. Object objArRef[]; //объявление ссылки
    2. objArRef = objArray;
    3. System.out.println(objArRef == objArray); //true
    4. System.out.println(objArray.equals(objArRef)); //true
  • Для работы с массивами используйте утилитный класс Arrays:
    1. //поиск элемента
    2. System.out.println(Arrays.binarySearch(primArray2, 3)); // 2 - индекс элемента в массиве
    3. //Заполнить весь массив числами 265
    4. Arrays.fill(primArray, 265);
    5. //Напечатает массив и его элементы, а не хэш ссылки на массив.
    6. System.out.println(Arrays.toString(primArray)); // [265, 265, 265, 265, 265, 265, 265, 265, 265, 265]

    Изучите этот класс досконально, чтобы ваш код выглядел оригинально!
  • Можно объявить и многомерные массивы  Это будет массив, который содержить массивы, которые тоже могут содержать массивы:
    1. int array2d[][] = new int[3][3];
    2. int array1d[] = {1, 2, 3};
    3. Arrays.fill(array2d, array1d);
    4. System.out.println(Arrays.toString(array2d)); //[[I@7000a32b, [I@7000a32b, [I@7000a32b]
    5. //Как видно массив 2d cодержит ссылку на один и тот же массив array1d
  • Работайте с массивами используя циклы:
    1. for (int i = 0; i < array2d.length; i++) {
    2. System.out.println(Arrays.toString(array2d[i])); // вывведет 3-и строчки [1, 2, 3]
    3. }
    4. //или так
    5. for (int array[]:array2d){
    6. System.out.println(Arrays.toString(array)); // тот же вывод.
    7. }
  • Для сортировки массивов используйте стандартные средства Java:
    1. int notSortedArray[] = {265,17,234,1,-3,0,10};
    2. System.out.println(Arrays.toString(notSortedArray)); //[265, 17, 234, 1, -3, 0, 10]
    3. Arrays.sort(notSortedArray);
    4. System.out.println(Arrays.toString(notSortedArray)); //[-3, 0, 1, 10, 17, 234, 265]

    Как сортировать массивы с объектами я покажу в следующей заметке.

На этом всё. Если есть вопросы, или замечания. То пишите! Для этого тут снизу комменты и сделанны.

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс