Języki i Techniki Programowania II. Wykład 4. Kolekcje
|
|
- Antonina Wiktoria Lewicka
- 7 lat temu
- Przeglądów:
Transkrypt
1 Języki i Techniki Programowania II Wykład 4 Kolekcje
2 Klasy Uogólnione (Generics) List<Cat> l = new ArrayList<Cat>(); l.add(new Cat());//OK l.add(new Dog());//Błąd
3 Klasy Uogólnione (Generics) Type erasure Pełna kompatybilność wstecz (raw types) Zachowanie compile-time niedoskonałe (np. przy przekazywaniu parametrów, rzutowaniu do bibliotek...) - infering Set<String> s = new HashSet<String>(); Set<String> s = Collections.checkedSet(new HashSet<String>(), String.class);
4 Klasy Uogólnione (Generics) List<String> ls = new ArrayList<String>(); List<Object> lo = ls;//nielegalne List<String> l1 = new ArrayList<String>(); List<Object> l2 = new ArrayList<Object>(); true!!! -> l1.getclass() == l2.getclass()
5 Wildcards (Generics) void printcollection(collection<?> c) { for (Object e:c) System.out.println(e); public void drawall( Collection <? extends Shape> c)... TreeSet(Comparator<? super E> c)
6 Metody parametryzowane //nielegalne void arraytocollection(object a[], Collection<?> c) //legalne void <T> arraytocollection(t a[], Collection<T> c)
7 Metody i Klasy parametryzowane public class Entry<K, V> { private final K key; private final V value; public Entry(K k,v v) { key = k; value = v; public K getkey() { return key; public V getvalue() { return value; public String tostring() { return "(" + key + ", " + value + ")";
8 Metody i Klasy parametryzowane public static <T> Entry<T,T> twice(t value) { return new SimpleImmutableEntry<T,T>(value, value);
9 Klasy Uogólnione (Generics) Bez klas uogólnionych static void expurgate(collection c) { for (Iterator i = c.iterator(); i.hasnext(); ) if (((String) i.next()).length() == 4) i.remove(); Z klasami uogólnionymi static void expurgate(collection<string> c) { for (Iterator<String> i = c.iterator(); i.hasnext(); ) if (i.next().length() == 4) i.remove();
10 Idiom Class Token public <T> Collection<T> select(class<t> c, String query) { Collection<T> res = new ArrayList<T>(); while(... jakiś warunek... ) { T item = c.getinstance();... // jakiś kod res.add(item); return res; // nie mozna: item = new T(); przez type erasure
11 Klasa Collections Kategorie statycznych metod: Sortowanie (elementy implementujące iface Comparable) sort(list l), sort(list l, Comparator c) Przetwarzanie list reverse, fill, copy, swap, addall Przeszukiwanie binarysearch Generowanie kolekcji opakowywujących ( wrapper ) synchronizedset, synchronizedlist, etc... unmodifiablelist, unmodifiableset, etc... checkedset, checkedlist, etc...
12 Klasa Collections Kategorie statycznych metod: Sortowanie (elementy implementujące iface Comparable) sort(list l), sort(list l, Comparator c) Przetwarzanie list reverse, fill, copy, swap, addall Przeszukiwanie binarysearch Generowanie kolekcji opakowywujących ( wrapper ) synchronizedset, synchronizedlist, etc... unmodifiablelist, unmodifiableset, etc... checkedset, checkedlist, etc...
13 Wzorzec Decorator
14 Wzorzec Decorator Inna nazwa: Wrapper Zastosowania: Zmienne w czasie zadania dla klas Gdy dziedziczenie jest niepraktyczne (np. w przypadku zagrożenia eksponencjalnym wzrostem ilości typów) Zalety: Dynamiczny charakter zachowania Uproszczona hierarchia, korzeń struktury odciążony Wady: Brak kontroli typów, system bardziej złożony wiele obiektów o bardziej zróżnicowanym zachowaniu
15 Standardowe Wejście String s; BufferedReader br= new BufferedReader( new InputStreamReader(System.in)); while ( (s = br.readline())!= null ) { System.out.println(s);
16 Decorator Set<String> s = Collections.checkedSet( new HashSet<String>(), String.class);
17 Sortowanie Collections.sort(list); public interface Comparable<T> { public int compareto(t o); Collections.sort(list,comparator); public interface Comparator<T> { public int compareto(t o1, T o2); equals (Object obj); -1: o1 < o2 0: o1 = o2 +1: o1 > o2
18 Typy Kopertowe Typy prymitywne mają swoje odpowiedniki obiektowe w pakiecie java.lang.*: boolean -> Boolean byte -> Byte char -> Character double -> Double float -> Float int -> Integer long -> Long short -> Short void -> Void
19 Typy Kopertowe Liczbowe typy kopertowe dziedziczą z java.lang.number, z którego interfejsu korzystamy przy pobieraniu wartości (zawiera mechanizmy obcinania i zaokrąglania) int intvalue() long longvalue() short shortvalue() byte bytevalue() double doublevalue() float floatvalue()
20 Typy Kopertowe String s = 123 ; int i = 0; try { i = (new Integer(s)).intValue(); catch(numberformatexception e) { e.printstacktrace(system.err);
21 Autoboxing, automatic unboxing Map<String, Integer> m = new TreeMap<String,Integer>(); for (String word : args) { Integer freq = m.get(word); m.put(word, (freq == null? 1 : freq + 1)); Zamiast: m.put(word,(freq==null?new Integer(1) : new Integer(freq.intValue()+1)
22 Kolekcje Biblioteka kolekcji (collection framework) dostarcza obiektów pozwalających tworzyć, przeszukiwać i zarządzać strukturami danych. Biblioteka kolekcji taka jak STL (C++) czy Java Collections (java.util) składa się zazwyczaj z takich elementów jak: Interfejsy Implementacje Algorytmy
23 Kolekcje Zalety biblioteki: zmniejsza wysiłek konieczny do osiągnięcia celu pozwala na lepszą optymalizację pozwala na lepsze interfejsowanie niezależnych bibliotek pozwala na lepsze ponowne wykorzystanie kodu dzięki standaryzacji
24 Interfejsy Klasyczna zasada: Programuj do Interfejsu, nie do implementacji. Wnioski: Interfejsujemy do bibliotek poprzez interfejsy a nie klasy. Nie stosujemy pól publicznych Nie rzutujemy w dół etc...
25 Interfejsy Interfejs Collection potomkowie: Queue Set potomek: SortedSet List Interfejs Map potomkowie: SortedMap
26 Interfejsy Ilość interfejsów jest ograniczona implementacje ze szczególnymi niezmiennikami (unmodifiable, synchronized, immutable, type checked) nie powodują rozbudowy hierarchii, tylko ewentualnie rzucają wyjątkiem: UnsupportedOperationException. Implementacje dostarczają różnych realizacji wewnętrznych interfejsów np. LinkedList oraz ArrayList Operacje (sortowanie, wyszukiwanie, etc. etc.) są zaimplementowane w sposób niezależny od implementacji jako metody statyczne klasy Collections.
27 Interfejs Collection Zastosowanie w tzw. conversion constructor do inicjalizacji kolekcji elementami innej kolekcji. Set<String> c; List<String> list = new ArrayList<String>(c); Bulk operations: containsall addall removeall retainall Clear Przykład: c.removeall(collections.singleton(e))
28 Interfejs Collection Zastosowane iteratorów: static void filter(collection c) { for (Iterator i = c.iterator(); i.hasnext(); ) if (!cond(i.next())) i.remove(); Rzutowanie na tablicę: Object [] a = c.toarray(); String [] a = c.toarray(new String[0]);
29 Interfejs List Metody: Object get(index i) Object set(int index,object e) boolean add(object e) int indexof(object e) ListIterator listiterator() ListIterator: previous() hasprevious()
30 Interfejs List Implementacje: Vector LinkedList ArrayList
31 Interfejs Set Metody: contains(object e) add(object e) Implementacje: HashSet (wyszukanie O(1), brak porządku) TreeSet (wyszukanie O(ln(n)), porz.naturalny) LinkedHashSet (wyszukanie O(1), porz. wg. kolejności)
32 Interfejs Queue Interfejs z wyjątkami: add(e) remove() element() Interfejs z wartościami pustymi (null) offer(e) poll() seek() Istnieje wersja z ograniczoną pojemnością.
33 Interfejs Map<K,V> Metody: V put(k key, V value); V get(object key); boolean containskey(object key); boolean containsvalue(object value); Rzutowanie na kolekcję public Set<K> keyset(); public Collection<V> values(); public Set<Map.Entry<K,V>> entryset();
34 Interfejs Map<K,V> Implementacje: HashMap TreeMap LinkedHashMap HashTable Przestarzała metoda przeszukiwania: for (Enumeration e = v.elements() ; e.hasmoreelements() ;) { System.out.println(e.nextElement());
35 Interfejs SortedSet<E> Metody: SortedSet<E> subset(e fromelement, E toelement); SortedSet<E> headset(e toelement); SortedSet<E> tailset(e fromelement); E first(); E last(); Comparator<? super E> comparator();
36 Interfejs SortedMap<K,V> Metody Comparator<? super K>comparator(); SortedMap<K, V> submap(k fromkey, K tokey); SortedMap<K, V> headmap(k tokey); SortedMap<K, V> tailmap(k fromkey); K firstkey(); K lastkey();
37 Dodatkowe narzędzia Klasa Arrays: Arrays.asList Implementacje: EnumSet, EnumMap Implementacje: CopyOnWriteArraySet, CopyOnWriteArrayList Collections.nCopies Collections.singleton Collections.emptySet, Collection.emptyList etc...
38 Wzorzec Iterator Nazwa: Iterator (czasem: cursor) Problem: Potrzeba jednolitego interfejsu do iterowania po kolekcji Konsekwencja: otrzymujemy obiekt o semantyce wskaźnika kroczącego po tablicy w C możemy mieć różne strategie przejścia po kolekcji możemy mieć kilka równoczesnych iteracji po kolekcji Wady: nie można być pewny cyklu życia nie można modyfikować, jeśli jest kilka iteratorów
39 Wzorzec Iterator Iterator it=c.iterator(); while (it.hasnext()) { this.add((string)it.next()); hasnext(): true next() next() next() iterator() hasnext(): false
40 Wzorzec Iterator Iterator<String> it=c.iterator(); while (it.hasnext()) { this.add(it.next()); hasnext(): true next() next() next() iterator() hasnext(): false
41 For Each Stary for void cancelall(collection<timertask> c) { for (Iterator<TimerTask> i = c.iterator();; i.hasnext()) i.next().cancel(); Nowy for void cancelall(collection<timertask> c) { for (TimerTask t : c) t.cancel();
42 Abstract Collections Interfejs List: add(e e), add(int index, E element), addall(collection<? extends E> c),addall(int index, Collection<? extends E> c, Clear(), contains(object o), containsall(collection<? >c), equals(object o), get(int index), indexof(object o), IsEmpty(), iterator(), lastindexof(object o), listiterator(), listiterator(int index), remove(int index), remove(object o), removeall(collection<?> c), retainall(collection<?> c), set(int index, E element), size(), sublist(int fromindex, int toindex), toarray(), toarray(t[] a)
43 Abstract Collections Klasa AbstrackList: Minimum: get(int), size() Modyfikowalne: set(int,e) Zmienna długość: add(int, E), remove(int)
Programowanie obiektowe
Programowanie obiektowe Wykład 8: Tablice i kolekcje obiektów. 4/27/2013 S.Deniziak: Programowanie obiektowe - Java 1 Tablice class A { A [ ] a; A [ ] b=new A[5]; a b A [ ] c = {new A(), new A(), new A(),
Bardziej szczegółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Kolekcje Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) PO w. X Jesień 2011 1 / 24 Kolekcje Interfejsy Implementacje Algorytmy Marketspeak
Bardziej szczegółowoProgramowanie w języku Java. Kolekcje
Programowanie w języku Java Kolekcje Definicja Kolekcja to obiekt, który grupuje elementy danych (inne obiekty) i pozwala traktować je jak jeden zestaw danych, umożliwiając jednocześnie wykonywanie na
Bardziej szczegółowoJava klasy kolekcji dr inż. Paweł Skrzyński, Java - kolekcje, 2010/2011
Java klasy kolekcji Agenda Wprowadzenie Podstawowe interfejsy w Java Collection Framework Implementacje Algorytmy Wskazówki implementacyjne Interoperabilność Pytania 2 Wprowadzenie Kolekcja: obiekt grupujący
Bardziej szczegółowoKOLEKCJE JAVY API: NAJPROSTSZE PODSTAWY
KOLEKCJE JAVY API: NAJPROSTSZE PODSTAWY I. TABLICE, CZYLI PODSTAWOWY RODZAJ KOLEKCJI: ARRAYS Wady i zalety 1. (Na rozgrzewkę) Zdefiniuj dwie klasy w programie (mogą być nawet puste na nasze potrzeby).
Bardziej szczegółowoKolekcje mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Kolekcje mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Kolekcja obiekt, który grupuje inne obiekty, traktując je jako jeden zestaw danych i pozwalający na wykonywanie operacji
Bardziej szczegółowoKolekcje - pakiet Java Collections Framework
Programowanie obiektowe Kolekcje - pakiet Java Collections Framework Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Definicja kolekcji
Bardziej szczegółowoKolekcje. Na podstawie:
Kolekcje Na podstawie: http://wazniak.mimuw.edu.pl Kolekcje w Javie Kolekcja (kontener) to po prostu obiekt, który grupuje wiele elementów w jeden twór. Pozwala na zapis, odczyt, korzystanie z danych oraz
Bardziej szczegółowoKolekcja (kontener) to po prostu obiekt, który grupuje wiele elementów w jeden twór.
Kolekcje Kolekcje w Javie Kolekcja (kontener) to po prostu obiekt, który grupuje wiele elementów w jeden twór. Pozwala na zapis, odczyt, korzystanie z danych oraz ich wzajemną komunikację. Przykład: ręka
Bardziej szczegółowoKolekcje - pakiet Java Collections Framework
Programowanie obiektowe Kolekcje - pakiet Java Collections Framework Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Programowanie obiektowe
Bardziej szczegółowoRealizacja ekstensji klasy. Paulina Strzelecka, Tomasz Roszkowski
Realizacja ekstensji klasy Paulina Strzelecka, Tomasz Roszkowski Przechowywanie obiektów (odwolañ do obiektów) w Javie typ wbudowany - tablica zbiór klas kontenerowych Paulina Strzelecka, Tomasz Roszkowski
Bardziej szczegółowoPodstawy otwartych języków programowania Przechowywanie danych
Podstawy otwartych języków programowania Przechowywanie danych Wiktor Wandachowicz Sposoby przechowywania danych Typy podstawowe Pojedyncze obiekty Tablice obiektów i tablice typów podstawowych jednowymiarowe
Bardziej szczegółowoProgramowanie Obiektowe (Java)
1. Wprowadzenie do kontenerów Wykład ósmy Kontenery s ą obiektami, które potrafi ą przechowywa ć inne obiekty w określony sposób. O kontenerach można myśle ć jako o gotowych do użycia strukturach danych.
Bardziej szczegółowoComparable<String>, CharSequence. Indicates whether some other object is "equal to" this one. int hashcode() Returns a hash code value for the object.
Przechowywanie obiektów w pamięci programu Część I (obiekty typu String) (wg http://java.sun.com/docs/books/tutorial/collections/ ) 1.Obiekty typu String Elementy typu String są przystosowane do przechowywania
Bardziej szczegółowojava.util.* :Kolekcje Tomasz Borzyszkowski
java.util.* :Kolekcje Tomasz Borzyszkowski Wstęp Kolekcje w Java dają programiście pewien standardowy sposób radzenia sobie z przetwarzaniem grup obiektów. Implementacja kolekcji w Java składa się z następujących
Bardziej szczegółowoProgramowanie w Javie- wykład 11 Kolekcje (listy)
1 Programowanie w Javie- wykład 11 Kolekcje (listy) Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 Barteczko, JAVA Uniwersalne techniki
Bardziej szczegółowoDawid Gierszewski Adam Hanasko
Dawid Gierszewski Adam Hanasko Chcemy stworzyć klasę w której możemy przechowywać dwie zmienne dowolnych typów Tworzymy tyle różnych klas ile potrzeba: Class ParaInt{ int pierwszy; Int drugi; Class ParaButow{
Bardziej szczegółowoKolekcje obiektów. Wyj tki.
Kolekcje obiektów. Wyj tki. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 30.03.2017 Kolekcje obiektów Kolekcje obiektów (Java Collections) sªu»
Bardziej szczegółowoJava niezbędnik programisty spotkanie nr 8. Kolekcje c.d.
Java niezbędnik programisty spotkanie nr 8 Kolekcje c.d. 1 Kontenery (rysunek pożyczony z Thinkin in Java ed. 3) Legenda: kreski-interfejsy kropki-kl. Abstr. 2 Przykład static Collection fill(collection
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 4, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 4, część 3 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoComparable<Klasa_uzytkownika>
Przechowywanie obiektów w pamięci programu Część II (obiekty typów definiowanych przez użytkownika) Obiekty typów definiowanych przez użytkownika muszą być przystosowane do przechowywania w pojemnikach
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowojlabel: void setalignment(label.center/left/right) - wyrównanie String gettext() pobiera aktualny tekst napisu void settext(string text) ustawia
GUI / Kolekcje jlabel: void setalignment(label.center/left/right) - wyrównanie String gettext() pobiera aktualny tekst napisu void settext(string text) ustawia tekst napisu void setdisplayedmnemonic(char
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 3 (część 2)
Języki i metody programowania Java INF302W Wykład 3 (część 2) Autor Dr inż. Zofia Kruczkiewicz Autor, Zofia Kruczkiewicz Języki i metody programowania Java, wykład 3, część 2 1 STRUKTURA WYKŁADU 1. Systemowe
Bardziej szczegółowoWYJĄTKI, KOLEKCJE ZAGADNIENIA: 1. Wyjątki, 2. Kolekcje, vector, hashtable, properties, Klasy Arrays i Collections.
WYJĄTKI, KOLEKCJE ZAGADNIENIA: 1. Wyjątki, 2. Kolekcje, vector, hashtable, properties, Klasy Arrays i Collections. http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA, FAIS UJ 2016/2017 1 WYJĄTKI Błędy wykonania
Bardziej szczegółowoTworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 2 Java Collections Framework Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Bardziej szczegółowoJava Collections Framework
Java Collections Framework Co to jest Java Collections Framework JCF Zunifikowana architektura do reprezentacji i manipulacji kolekcjami danych. Składa się z: Interfejsów Definuje abstrakcyjne typy możliwych
Bardziej szczegółowoWydział Fizyki i Informatyki Stosowanej, Uniwersytetu Łódzkiego Łódź. Java podstawy języka, wykład 4 1
Wydział Fizyki i Informatyki Stosowanej, Uniwersytetu Łódzkiego 03.12.2010 Łódź Java podstawy języka, wykład 4 1 Stosując blokady (synchronizację) Można doprowadzić do zablokowania wszystkich wątków Zakleszczenie
Bardziej szczegółowoTYPY GENERYCZNE (GENERICS)
TYPY GENERYCZNE (GENERICS) ZAGADNIENIA: wprowadzenie, konwencje, metody, typy surowe parametry ograniczone podtypy, dziedziczenie, symbole wieloznaczne, ograniczenia. MATERIAŁY: http://docs.oracle.com/javase/tutorial/java/generics/
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoProgramowanie w języku Java
Programowanie w języku Java Wykład 1: Wprowadzenie http://eclipse.elektron.pk.edu.pl/~sdeniziak/ Hasło: java2012 języku Java 1 Literatura Bruce Eckel, Thinking in Java edycja polska, wydanie. 4, Helion
Bardziej szczegółowoWykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Bardziej szczegółowoJava SE Laboratorium nr 7. Temat: Kolekcje
Java SE Laboratorium nr 7 Temat: Kolekcje 1 1. Definicja i idea Często w programach zachodzi potrzeba przechowywania w pamięci nieznanej z góry liczby elementów. Możliwość taką dostarczają tzw. kontenery
Bardziej szczegółowoKolekcje w języku Java
Kolekcje w języku Java Prowadzący: Bartosz Walter Biblioteka Java Collections 1 Plan wykładu Historia Java Collections Podstawowe interfejsy i ich odpowiedzialność Iteratory Klasy pomocnicze i ich funkcjonalność
Bardziej szczegółowoAplikacje w Javie wykład 7 Kolekcje (listy, zbiory)
Aplikacje w Javie wykład 7 1 Kolekcje (listy, zbiory) Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/
Bardziej szczegółowoProgramowanie w Javie - wykład 13 Kolekcje c.d. ( mapy)
1 Programowanie w Javie - wykład 13 Kolekcje c.d. ( mapy) Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/
Bardziej szczegółowoProgramowanie obiektowe i język Java
Programowanie obiektowe i język Java Tomasz Głowacki Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich zastosowań
Bardziej szczegółowoAPI STREAM WYRAŻENIA LAMBDA
Wykorzystano fragmenty wykładów M. Piotrowskiego i M. Wójcika KOLEKCJE API STREAM WYRAŻENIA LAMBDA Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska 2 Kolekcje Kolekcje 3 Kolekcja
Bardziej szczegółowoKolekcje. object that groups multiple elements into a single unit
Kolekcje object that groups multiple elements into a single unit W wielu programach deklaracje typu: MyObject myreference; są uprawnione, jednak często zwłaszcza przy bardziej skomplikowanych programach
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoKolekcje w Javie cz. 1
Kolekcje w Javie cz. 1 Programowanie obiektowe Jacek Sroka na podstawie materiałów Janusza Jabłonowskiego 8 kwietnia 2013 Po co są kolekcje? Po co są kolekcje? A po co są programy? Żeby manipulować danymi.
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 13: RTTI 6/2/2013 S.Deniziak: Programowanie obiektowe - Java 1 Po co informacja o typie obiektu? Polimorfizm Kolekcje Deserializacja 6/2/2013 S.Deniziak: Programowanie obiektowe
Bardziej szczegółowoProgramowanie sieciowe
Programowanie sieciowe mgr Marcin Raniszewski mgr inŝ. Paweł Kośla Łódź, 2009 Wykład 6: Wielowątkowość, operacje na plikach, kolekcje 1 Plan wykładu Wątki (klasa Thread i interfejs Runnable) Synchronizacja
Bardziej szczegółowoJava niezbędnik programisty spotkanie nr 9. Java 2 Platform, Standard Edition 5.0
Java niezbędnik programisty spotkanie nr 9 Java 2 Platform, Standard Edition 5.0 1 Historia 1991 rozpoczyna się the Green Project (to jeszcze era MS DOS) 1992 pojawia się język Oak 1995 zmiana nazwy z
Bardziej szczegółowoimport java.util.*; public class ListExample { public static void main(string args[]) { List<String> lista1= new ArrayList<String> ();
collection Zadanie.1 Napisać program, który: a) tworzy listę (implementacja tablicy ArrayList), dodając po jednym elemencie (korzystając z operacji podstawowej add). Następnie wypisuje całą listę, drugi
Bardziej szczegółowoMAS dr. Inż. Mariusz Trzaska. Wykład 3. Wybrane konstrukcje obiektowych języków programowania (2)
MAS dr. Inż. Mariusz Trzaska Wykład 3 Wybrane konstrukcje obiektowych języków programowania (2) Kontynuacja poprzedniego wykładu Wykorzystano materiały z Thinking in Java (3rd edition) autorstwa Bruce
Bardziej szczegółowoJava: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
Bardziej szczegółowoProgramowanie w Javie- wykład 12 Kolekcje (zbiory)
1 Programowanie w Javie- wykład 12 Kolekcje (zbiory) Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 Barteczko, JAVA Uniwersalne techniki
Bardziej szczegółowoAplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java
Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoJava: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
Bardziej szczegółowoKurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
Bardziej szczegółowoJęzyki i metody programowania Java INF302W Wykład 2 (część 1)
Języki i metody programowania Java INF302W Wykład 2 (część 1) Autor Dr inż. Zofia Kruczkiewicz Autor: Zofia Kruczkiewicz, Języki i metody programowania Java, wykład 2, część 1 1 Struktura wykładu 1. Identyfikacja
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7
Instrukcja 7 Laboratoria 9, 10 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 7: Typy uogólnione. Stringi. 4/21/2013 S.Deniziak: Programowanie obiektowe - Java 1 Jak operować na danych różnych typów? Wymagana zgodność typów Rzutowanie w górę Tylko
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe II. Dziedziczenie Małgorzata Prolejko OBI JA16Z03 Plan Klasy bazowe i pochodne. Hierarchia dziedziczenia. Polimorfizm. Wiązanie dynamiczne. Ograniczenie dziedziczenia, klasy i metody
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Problem: Jak zaimplementować stos? Co się stanie gdy dodamy do stosu obiekt typu Czlowiek? Co się stanie, gdy spróbujemy ten obiekt odczytać
Bardziej szczegółowoKlasy generyczne. ZbiórLiczb. ZbiórCzegokolwiek. Zbiór
Klasy generyczne Klasy generyczne Klasy generyczne są to klasy o parametryzowanych typach danych. Klasy generyczne posiadają kompletną implementację, jednak nie definiują typów danych wykorzystanych w
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoGUI - projektowanie interfejsów cz. II
Katedra Inżynierii Wiedzy, Uniwersytet Ekonomiczny w Katowicach Wykład 2 Java Foundations Classes przyciski; pola tekstowe; panele; okna dialogowe; biblioteka Swing. Metodyka (paradygmat) programowania
Bardziej szczegółowoWykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Bardziej szczegółowoProgramowanie w środowisku graficznym- wykład 7 Kolekcje (listy, zbiory)
1 Programowanie w środowisku graficznym- wykład 7 Kolekcje (listy, zbiory) Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 Barteczko, JAVA
Bardziej szczegółowodr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1
Ćwiczenie 1 Uruchamianie programu w Netbeans Uruchom środowisko Netbeans. Stwórz nowy projekt typu Java Application. Nadaj projektowi nazwę HelloWorld (Project Name), zwróć uwagę na folder, w którym zostanie
Bardziej szczegółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Klasy i obiekty Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) PO w. V Jesień 2011 1 / 13 Typy danych (w Javie) Typy pierwotne typ wartości
Bardziej szczegółowoTworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Bardziej szczegółowoPolimorfizm a klasy generyczne w języku Java. Zdzisław Spławski 1
Polimorfizm a klasy generyczne w języku Java Zdzisław Spławski 1 Klasyfikacja polimorfizmów Polimorfizm ogólnie oznacza wielopostaciowość i umożliwia przypisanie różnych
Bardziej szczegółowodziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy
PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić
Bardziej szczegółowoProgramowanie w języku Java WYKŁAD
Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 03.03.2014 WYKŁAD 2 Elementy leksykalne Java Elementy
Bardziej szczegółowoAplikacje Internetowe
Aplikacje Internetowe Łączenie z bazą danych Podstawy Klient Serwer Sterownik Własne API (Application Programmer Interface) Łączenie z bazą danych Sterownik Protokół komunikacyjny Adres serwera Port nasłuchowy
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa
Bardziej szczegółowoLista, Stos, Kolejka, Tablica Asocjacyjna
Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,
Bardziej szczegółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoZofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
Bardziej szczegółowoProgramowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody
Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody W bloku inicjalizacji nie można wywołać konstruktora klasy nadrzędnej (poprzez super). class Klasa{
Bardziej szczegółowoTypy uogólnione. Robert A. Kªopotek Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW
Typy uogólnione. Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 23.03.2017 Typy uogólnione (1/2) Typy uogólnione (generyczne) s to typy parametryzowane
Bardziej szczegółowoDziedziczenie. dr Jarosław Skaruz
Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,
Bardziej szczegółowoPodejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne
Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne import javax.swing.*; import java.util.*; public class Napis4 { String wynik = ""; static int ile_obiektow
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoJęzyki i metody programowania Java Lab4 podejście obiektowe, zastosowanie pojemników
Języki i metody programowania Java Lab4 podejście obiektowe, zastosowanie pojemników https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf
Bardziej szczegółowoPolimorfizm. dr Jarosław Skaruz
Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody
Bardziej szczegółowoPodejście obiektowe. Tablice (1) obiektów
1. Tablice Tablica w Javie jest obiektem. Podejście obiektowe. Tablice (1) obiektów Deklarowanie tablicy String [] nazwy; //równowaŝne deklaracje zmiennej tablicowej String nazwy []; int liczby[]; //zamienna
Bardziej szczegółowoWprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Podstawowe struktury danych, cd. Wykład na podstawie ksiażki Roberta Sedgewicka i Kevina Wayne: Algorithms. Furth Edition. Princeton University dr hab. Bożena Woźna-Szcześniak
Bardziej szczegółowoWątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().
Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public
Bardziej szczegółowoJęzyki i metodyka programowania. Język C# pętle, sterowanie, wyjątki
Język C# pętle, sterowanie, wyjątki Język C# pętle Pętle: while ( ) do { while ( ); for ( ; ; ) foreach ( in
Bardziej szczegółowoEnkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoWstęp do ruby dla programistów javy
czyli dlaczego java ssie Akademickie Stowarzyszenie Informatyczne 26 lutego 2011 Podstawowe cechy Ruby vs Java Wieloparadygmatowy Imperatywny Typowanie Silne Dynamiczne Otwarte klasy Interpretowany Wszystko
Bardziej szczegółowoWspółbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
Bardziej szczegółowoJava Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.
Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.
Bardziej szczegółowoBEAN VALIDATION. Waldemar Korłub. Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska
BEAN VALIDATION Waldemar Korłub Narzędzia i aplikacje Java EE KASK ETI Politechnika Gdańska Bean Validation Uniwersalny mechanizm walidacji danych we wszystkich warstwach aplikacji Warstwa interfejsu,
Bardziej szczegółowoLaboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6
Instrukcja 6 Laboratorium 8 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji
Bardziej szczegółowoWspółbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Bardziej szczegółowoTypy uogólnione. Programowanie obiektowe. Jacek Sroka na podstawie materiałów Janusza Jabłonowskiego. 8 kwietnia 2013
Programowanie obiektowe 8 kwietnia 2013 Po co są klasy i metody uogólnione w Javie? Klasy i metody uogólnione (generyki, ang. generics) - klasy i metody sparametryzowane typami. Czy zwiększają siłę wyrazu
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 3: Tworzenie i usuwanie obiektów 3/10/2013 S.Deniziak: Programowanie obiektowe - Java 1 Deklaracje pól klasy class Klasa1 { int i; Klasa2 k = new Klasa2(); char c= x ; byte
Bardziej szczegółowoKurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Bardziej szczegółowo