QA (rus)

ArrayList (Implementation class)
Пожалуй, самая часто используемая коллекция. ArrayList инкапсулирует в себе обычный массив, длина которого автоматически увеличивается при добавлении новых элементов.
Так как ArrayList использует массив, то время доступа к элементу по индексу минимально (В отличии от LinkedList). При удалении произвольного элемента из списка, все элементы находящиеся «правее» смещаются на одну ячейку влево, при этом реальный размер массива (его емкость, capacity) не изменяется. Если при добавлении элемента, оказывается, что массив полностью заполнен, будет создан новый массив размером (n * 3) / 2 + 1, в него будут помещены все элементы из старого массива + новый, добавляемый элемент Java ArrayList represents an automatic re-sizable array and used in place of array. Since we can not modify size of an array after creating it, we prefer to use ArrayList in Java which re-size itself automatically once it gets full. ArrayList in Java implements List interface and allow null. Java ArrayList also maintains insertion order of elements and allows duplicates opposite to any Set implementation which doesn’t allow duplicates.
ArrayList is not synchronized and should not be shared between multiple threadsArrayList stringList = new ArrayList(); //Generic ArrayList to Store only String objects stringList.add(“Item”); //no error because we are storing String
stringList.add(new Integer(2)); //compilation error
int size = stringList.size();
get value: for, foreach, arraylistwithdata.get(int i)
set value: stringList.set(0,”Item2″);
stingList.clear();
ArrayList stringList = Arrays.asList(new String[]{“One”, “Two”, “Three”); //this is not read only List you can still update value of existing elements: Link
HashMap
основан на хэш-таблицах, реализует интерфейс Map (что подразумевает хранение данных в виде пар ключ/значение). Ключи и значения могут быть любых типов, в том числе и null. Данная реализация не дает гарантий относительно порядка элементов с течением времени. Continue reading

Advertisements

Java terms (Collections)

Aside