410013796724260
• Webmoney
R335386147728
Z369087728698
Списочный массив ArrayListВ Java массивы имеют фиксированную длину и не могут быть увеличены или уменьшены. Класс ArrayList реализует интерфейс List и может менять свой размер во время исполнения программы, при этом не обязательно указывать размерность при создании объекта. Элементы ArrayList могут быть абсолютно любых типов в том числе и null. Пример создания объекта ArrayList ArrayList <String> list = new ArrayList <String>(); Можно инициализировать массив на этапе определения. Созданный объект list содержит свойство size. Обращение к элементам массива осуществляется с помощью метода get(). Пример : ArrayList <String> list; list = Arrays.asList(new String[] {"a", "b", "c"}); System.out.println ("Размер массива равен '" + Integer.valueOf (list.size()) + "' элементам"); Добавление элемента в массив ArrayList, метод addРаботать с ArrayList просто: необходимо создать объект и вставлять созданные объекты методом add(). Обращение к элементам массива осуществляется с помощью метода get(). Пример: ArrayList <String> list; list = new ArrayList <String(); list.add("Школа"); System.out.println ("Первый элемент массива '" + list.get(0) + "'"); System.out.println ("Размер массива '" + Integer.valueOf (list.size()) + "'"); Замена элемента массива ArrayList, метод setЧтобы заменить элемент в массиве, нужно использовать метод set() с указанием индекса и новым значением. list.add("Яблоко"); list.add("Груша"); list.add("Слива"); list.set(1, "Персик"); System.out.println ( "2-ой элемент массива '" + list.get(1) + "'"); Удаление элемента массива ArrayList, метод removeДля удаления элемента из массива используется метод remove(). Можно удалять по индексу или по объекту: list.remove(0); // удаляем по индексу list.remove("Слива"); // удаляем по объекту ПРИМЕЧАНИЕ: элементы, следующие после удалённого элемента, перемещаются на одну позицию ближе к началу. То же самое относится и к операции вставки элемента в середину списка. Для очистки всего массива используется метод clear(): list.clear(); Определение позиции элемента ArrayList, метод indexOfВ списочном массиве ArrayList существует метод indexOf(), который ищет нужный элемент и возвращает его индекс. int index = list.indexOf("Слива"); // выводим имя элемента и его номер в массиве System.out.println (list.get(index) + " числится под номером " + index); Отсчёт в массиве начинается с 0, если индекс равен 2, значит он является третьим в массиве. Проверка наличие элемента в ArrayList, метод containsЧтобы узнать, есть в массиве какой-либо элемент, можно воспользоваться методом contains(), который вернёт логическое значение true или false в зависимости от присутствия элемента в наборе : System.out.println (list.contains("Картошка") + ""); Понятно, что в массиве никаких овощей быть не может, поэтому в консоле будет отображено false. Создание массива из элементов ArrayList, метод toArrayДля конвертирования набора элементов в обычный массив необходимо использовать метод toArray(). ArrayList<String> myArrayList = new ArrayList<String>(); myArrayList.add("Россия"); myArrayList.add("Польша"); myArrayList.add("Греция"); myArrayList.add("Чехия"); String[] array = {}; // конвертируем ArrayList в массив array = myArrayList.toArray(new String[myArrayList.size()]); Интерфейс Listjava.util.List является интерфейсом и его следует использовать вместо ArrayList следующим образом : List<String> list = new ArrayList<String>(); Или укороченный вариант для Java 7: List<String> list = new ArrayList<>(); В примере тип ArrayList заменен на List, но в объявлении оставлен new ArrayList(). Всё остальное остаётся без изменений. Это является рекомендуемым способом. Интерфейс List реализует более общий интерфейс коллекции Collection. Преобразование массива в список, ArraysДля создания массива можно не только добавлять по одному объекту через метод add(), но и сразу массив с использованием Arrays.asList(...). Пример создания и инициализации массива из объектов Integer. List<Integer> numlist = Arrays.asList(1, 2, 5, 9, 11); System.out.println (numlist.get(2) + ""); // выводит число 5 У данного способа есть недостаток. Если вы определили списочный массив таким образом, то уже не можете вставлять или удалять элемент, хотя при этом можете изменять существующий элемент. List<Integer> numlist = Arrays.asList(1, 2, 5, 9, 11); numlist.set(2, 33); // так можно numlist.add(34); // нельзя, ошибка во время исполнения System.out.println (numlist.get(2) + ""); |