Интерфейс Collection
Интерфейс Collection — это основа, на которой построена структура коллекций в Java. Он объявляет основные методы, которые будут иметь все коллекции. Эти методы приведены в следующей таблице.
Так как все коллекции реализуют Collection, знакомство с его методами необходима для понимания фреймворка. Некоторые из этих методов могут вызывать исключение UnsupportedOperationException.
Методы
№ Метод и описание
1 boolean add(Object obj)
Добавляет obj к вызывающей коллекции. Возвращает true, если объект был добавлен в коллекцию. Возвращает false, если obj уже является членом коллекции, или если коллекция не позволяет иметь дубликаты.
2 boolean addAll(Collection c)
Добавляет все элементы c в вызывающую коллекцию. Возвращает true, если операция прошла успешно (т.е. элементы были добавлены). В противном случае возвращает false.
3 void clear( )
Удаляет все элементы из вызывающей коллекции.
4 boolean contains(Object obj)
Возвращает true, если obj является элементом вызывающей коллекции. В противном случае возвращает false.
5 boolean containsAll(Collection c)
Возвращает true, если вызывающая коллекция содержит все элементы c. В противном случае возвращает false.
6 boolean equals(Object obj)
Возвращает true, если вызывающая коллекция and obj are equal. В противном случае возвращает false.
7 int hashCode( )
Возвращает хэш-код для вызывающей коллекции.
8 boolean isEmpty( )
Возвращает true, если вызывающая коллекция пустая. В противном случае возвращает false.
9 Iterator iterator( )
Возвращает итератор для вызывающей коллекции.
10 boolean remove(Object obj)
Удаляет один экземпляр obj из вызывающей коллекции. Возвращает true, если элемент был удалён. В противном случае возвращает false.
11 boolean removeAll(Collection c)
Удаляет все элементы c из вызывающей коллекции. Возвращает true, если коллекция изменилась (т.е. элементы были удалены). В противном случае возвращает false.
12 boolean retainAll(Collection c
Удаляет все элементы из вызывающей коллекции, кроме тех, что содержатся в c. Возвращает true, если коллекция изменилась (т.е. элементы были удалены. В противном случае возвращает false.
13 int size(
Возвращает количество элементов, хранящихся в вызывающей коллекции.
14 Object[ ] toArray( )
Возвращает массив, которые содержит все элементы, хранящиеся в вызывающей коллекции. Элементы массива являются копиями элементов коллекции.
15 Object[ ] toArray(Object array[ ]
Возвращает массив, содержащий только те элементы коллекции, тип которых соответствует массиву.
Пример
Ниже приведён пример, объясняющий несколько методов из различных реализаций классов из вышеупомянутых методов коллекций:
import java.util.*;
public class CollectionsDemo {
public static void main(String[] args) {
// ArrayList
List a1 = new ArrayList();
a1.add("Заря");
a1.add("Марк");
a1.add("Айан");
System.out.println(" ArrayList Элементы");
System.out.print("\t" + a1);
// LinkedList
List l1 = new LinkedList();
l1.add("Заря");
l1.add("Марк");
l1.add("Айан");
System.out.println();
System.out.println(" LinkedList Элементы");
System.out.print("\t" + l1);
// HashSet
Set s1 = new HashSet();
s1.add("Заря");
s1.add("Марк");
s1.add("Айан");
System.out.println();
System.out.println(" Set Элементы");
System.out.print("\t" + s1);
// HashMap
Map m1 = new HashMap();
m1.put("Заря", "8");
m1.put("Марк", "31");
m1.put("Айан", "12");
m1.put("Дэйзи", "14");
System.out.println();
System.out.println(" Map Элементы");
System.out.print("\t" + m1);
}
}
Получим следующий результат:
ArrayList Элементы
[Заря, Марк, Айан]
LinkedList Элементы
[Заря, Марк, Айан]
Set Элементы
[Айан, Заря, Марк]
Map Элементы
{Дэйзи = 14, Айан = 12, Заря = 8, Марк = 31}