Контейнеры и хранение объектов в ООП
Upcoming SlideShare
Loading in...5
×
 

Контейнеры и хранение объектов в ООП

on

  • 1,708 views

 

Statistics

Views

Total Views
1,708
Views on SlideShare
1,588
Embed Views
120

Actions

Likes
0
Downloads
1
Comments
0

2 Embeds 120

http://it-club.kz 100
http://www.it-club.kz 20

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Контейнеры и хранение объектов в ООП Контейнеры и хранение объектов в ООП Presentation Transcript

  • www.sharkon.kz КОНТЕЙНЕРЫ И ХРАНЕНИЕ ОБЪЕКТОВ Нефёдов Константин
  • Основные концепцииwww.sharkon.kzКоллекция Карта набор пар объектов «ключ- группа отдельных элементов, значение», с возможностью сформированная по некоторым выборки по ключу правилам List (список) ArrayList Set (множество) Map (ассоциативный массив) Queue (очередь) ApplesAndOrangesWithoutGenerics.java
  • www.sharkon.kz Библиотека утилит Java java.util.*
  • Параметризованные иwww.sharkon.kz типизованные контейнеры List<Apple> apples = new ArrayList<Apple>(); ApplesAndOrangesWithGenerics.java
  • Добавление групп элементовwww.sharkon.kz Collection<Integer> collection = new ArrayList<Integer>(Arrays.asList(1, 2, 3, 4, 5)); Integer[] moreInts = { 6, 7, 8, 9, 10 }; collection.addAll(Arrays.asList(moreInts)); // Работает намного быстрее, но таким способом // невозможно сконструировать Collection: Collections.addAll(collection, 11, 12, 13, 14, 15); Collections.addAll(collection, moreInts); // Produces a list "backed by" an array: List<Integer> list = Arrays.asList(16, 17, 18, 19, 20); list.set(1, 99);// Можно - изменение элемента // list.add(21); // Ошибка времени выполнения - нижележащий // массив не должен изменяться в размерах
  • Вывод содержимого контейнеровwww.sharkon.kz Arrays.toString PrintingContainers.java
  • www.sharkon.kz ListБазовый контейнер ArrayList, оптимизированный дляпроизвольного доступа к элементам,но с относительно медленнными операциями вставки(удаления) элементов в середине списка.Контейнер LinkedList, оптимизированный дляпоследовательного доступа, с быстрыми операциямивставки (удаления) в середине списка; Произвольныйдоступ к элементам LinkedList выполняется относительномедленно, но по широте возможностей он превосходит ArrayList.
  • Итераторыwww.sharkon.kz Итератор — это объект, обеспечивающий перемещение по последовательности объектов с выбором каждого объекта этой последовательности, при этом про­граммисту­клиенту не надо знать или заботиться о лежащей в ее основе структуре Iterator Listlterator SimpleIteration.java
  • Множество(set) www.sharkon.kzSet<Integer> intset = new HashSet<Integer>(); SetOperations.java SetOfInteger.java SortedSetOfInteger.java
  • Проверка принадлежностиwww.sharkon.kz set1.contains("H") SetOperations.java
  • Карта(Ассоциативный массив) www.sharkon.kzMap<Integer,Integer> m = new HashMap<Integer,Integer>(); PetMap.java
  • Очередь(Queue)www.sharkon.kz контейнер, работающий по принципу «первым вошел, первым вышел» (FIFO) QueueDemo.java
  • Collection и Iteratorwww.sharkon.kzCollection — корневой интерфейс, описывающий общуюфункциональность всех последовательных контейнеров.Его можно рассматривать как «вторичный интерфейс»,появившийся вследствие сходства между другимиинтерфейсами. Кроме того, класс java.util.AbstractCollectionпредоставляет реализацию Collection по умолчанию,поэтому вы можете создать новый подтип AbstractCollectionбез избыточного дублирования кода. InterfaceVsIterator.java
  • Синтаксис foreach и итераторыwww.sharkon.kz Collection<String> cs = new LinkedList<String>(); Collections.addAll(cs,"Take the long way home".split(" ")); for(String s : cs) System.out.print("" + s + " "); ForEachCollections.java
  • www.sharkon.kz СПАСИБО ЗА ВНИМАНИЕ!