АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ArrayList(int capacity)

Читайте также:
  1. Альтернативные вердикты
  2. Будущие тесты TPC
  3. Общие черты и проблемы экономического развития»
  4. Орын басушы класстар
  5. Сравнение рассмотренных методов
  6. Характеристики

Практически все методы класса являются реализацией абстрактных методов из суперклассов и интерфейсов. Методы интерфейса List<E> позволяют вставлять и удалять элементы из позиций, указываемых через отсчитываемый от нуля индекс:

void add(int index, E element) – вставляет element в позицию, указанную в index;

void addAll(int index, Collection<? extends E> c) – вставляет в вызывающий список все элементы коллекции с,начиная с позиции index;

E get(int index) – возвращает элемент в виде объекта из позиции
index;

int indexOf(Object ob) – возвращает индекс указанного объекта;

E remove(int index) – удаляет объект из позиции index;

E set(int index, E element) – заменяет объект в позиции index, возвращает при этом удаляемый элемент;

List<E> subList(int fromIndex, int toIndex) – извлекает часть коллекции в указанных границах.

Удаление и добавление элементов для такой коллекции представляет собой ресурсоемкую задачу, поэтому объект ArrayList<E> лучше всего подходит для хранения неизменяемых списков.

/* пример # 1: создание параметризованной коллекции: DemoGeneric.java */

package chapt10;

import java.util.*;

 

public class DemoGeneric {

public static void main(String args[]) {

ArrayList<String> list = new ArrayList<String>();

// ArrayList<int> b = new ArrayList<int>(); // ошибка компиляции

list.add("Java");

list.add("Fortress");

String res = list.get(0); /* компилятор “знает”

тип значения */

// list.add( new StringBuilder("C#") ); // ошибка компиляции

// компилятор не позволит добавить “посторонний” тип

System. out. print(list);

}

}

В результате будет выведено:

[Java, Fortress]

В данной ситуации не создается новый класс для каждого конкретного типа и сама коллекция не меняется, просто компилятор снабжается информацией о типе элементов, которые могут храниться в list. При этом параметром коллекции может быть только объектный тип.

Следует отметить, что указывать тип следует при создании ссылки, иначе будет позволено добавлять объекты всех типов.

/* пример # 2: некорректная коллекция: UncheckCheck.java */

package chapt10;

import java.util.*;

 

public class UncheckCheck {

public static void main(String args[]) {

ArrayList list = new ArrayList();

list.add(71);

list.add(new Boolean("TruE"));

list.add("Java 1.6.0");

 

// требуется приведение типов

int i = (Integer)list.get(0);

boolean b = (Boolean)list.get(1);

String str = (String)list.get(2);

for (Object ob: list)

System. out. println("list " + ob);

 

ArrayList<Integer> s = new ArrayList<Integer>();

s.add(71);

s.add(92);

// s.add("101");// ошибка компиляции: s параметризован

for (Integer ob: s)

System. out. print("int " + ob);

}

}

В результате будет выведено:


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)