Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СТП / lec / java2014-lec-07

.pdf
Скачиваний:
6
Добавлен:
03.03.2016
Размер:
1.11 Mб
Скачать

Интерфейс SortedMap

SortedMap – упорядоченный вариант ассоциативного массива

Map, отсортированный по возрастанию значения ключа.

Является Map-аналогом SortedSet’а.

Отсортированные ассоциативные массивы служат для хранения

отсортированных пар «ключ-значение», например, словари

или телефонные справочники.

public interface SortedMap<K, V> extends Map<K, V> { Comparator<? super K> comparator(); SortedMap<K, V> subHap(K fromKey, K toKey); SortedMap<K, V> headHap(K toKey); SortedMap<K, V> tailHap(K fromKey);

K firstKey(); K lastKey();

}

http://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html 21

Интерфейс Deque (очередь с двусторонним доступом)

http://docs.oracle.com/javase/7/docs/api/java/util/Deque.html 22

Интерфейс NavigableSet

http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html 23

Интерфейс NavigableSet

http://docs.oracle.com/javase/7/docs/api/java/util/NavigableSet.html 24

Интерфейс NavigableMap

http://docs.oracle.com/javase/7/docs/api/java/util/NavigableMap.html 25

Интерфейс NavigableMap

http://docs.oracle.com/javase/7/docs/api/java/util/NavigableMap.html 26

Конкретные классы, основанные на коллекциях

Тип коллекции

Описание

ArrayList

Индексированная последовательность, динамически растягивающаяся и

cжимающаяся.

 

LinkedList

Упорядоченная последовательность, позволяющая эффективную вставку и

удаление в любой позиции.

 

ArrayDeque

Упорядоченная последовательность, реализованная в виде циклического массива.

HashSet

Неупорядоченная коллекция, исключающая дубликаты.

TreeSet

Сортированный набор.

EnumSet

Множество значений перечислимого типа.

LinkedHashSet

Набор, запоминающий порядок вставки элементов.

PriorityQueue

Коллекция, позволяющая эффективно удалять наименьший элемент .

HashMap

Структура данных, сохраняющая ассоциации “ключ/значение".

TreeMap

Карта с сортированными ключами.

EnumMap

Карта, в которой ключи относятся к перечислимому типу.

LinkedHashMap

Карта, запоминающая порядок, в котором добавлялись элементы.

WeakHashMap

Карта со значениями, которые могут удаляться сборщиком мусора, если таковые

нигде не используются.

 

IdentityHashMap

Карта с ключами, сравниваемыми с помощью ==, а не equals О.

27

Пример работы с Set

1import java.util.*;

2public class SetExample {

3public static void main(String[] args) {

4

Set set = new HashSet() ;

 

5

set.add("one");

 

6

set.add("second");

 

7

set.add("3rd");

 

8

set.add(new Integer(4));

 

9

set.add(new Float(5.OF));

 

10

set.add("second");

// дубликат, не добавляется

11

set.add(new Integer(4));

// дубликат, не добавляется

12

System.out.println(set);

 

13}

14}

The output generated from this program is: [one, second, 5.0, 3rd, 4]

28

Пример работы с List

1import java.util.*

2public class ListExample {

3public static void main(String[] args) {

4

List list = new ArrayList();

5

list.add ("one");

 

6

list.add("second");

 

7

list.add("3rd");

 

8

list.add(new Integer(4));

 

9

1ist.add(new Float(5.OF));

 

10

list.add("second");

// дубликат, не добавляется

11

list.add(new Integer(4));

// дубликат, не добавляется

12

System.out.println(list) ;

 

13

}

 

14 }

 

 

The output generated from this program is: [one, second, 3rd, 4, 5.0, second, 4]

29

Пример работы с Map

1import java.util.*;

2public class MapExample {

3public static void main (String args []) {

4

Map map = new HashMap();

5

map.put("one","1st");

6

map.put("second", new Integer(2)) ;

7

map.put("third","3rd");

8

// перезаписывает предыдущее присваивание

9

map.put("third","III");

10

// возвращает множество ключей

11

Set set1 = map.keyset();

12

// возвращает множество значений

13

Collection collection = map.values();

14

// возвращает массив «ключ-значение»

15

Set set2 = map.entrySet();

16

System.out.println(setl +"\n"+ collection +"\n"+ set2);

17}

18}

Output generated from the MapExample program: [second, one, third]

[2, 1st, III]

[second=2, one=lst, third=III]

30

Соседние файлы в папке lec