import java.util.*; public class ListExample { public static void main(string args[]) { List<String> lista1= new ArrayList<String> ();

Podobne dokumenty
Programowanie w języku Java. Kolekcje

Programowanie obiektowe

Programowanie i projektowanie obiektowe

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Metody Metody, parametry, zwracanie wartości

Dawid Gierszewski Adam Hanasko

TYPY GENERYCZNE (GENERICS)

Podstawy otwartych języków programowania Przechowywanie danych

Java niezbędnik programisty spotkanie nr 9. Java 2 Platform, Standard Edition 5.0

Java niezbędnik programisty spotkanie nr 8. Kolekcje c.d.

Programowanie w Javie- wykład 11 Kolekcje (listy)

Kolekcje - pakiet Java Collections Framework

Klasy i obiekty cz II

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

Kolekcje mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Programowanie Obiektowe (Java)

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Realizacja ekstensji klasy. Paulina Strzelecka, Tomasz Roszkowski

Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

Comparable<Klasa_uzytkownika>

Tworzenie aplikacji w języku Java

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Podstawy obiektowości

Język JAVA podstawy. Wykład 4, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Kolekcje - pakiet Java Collections Framework

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Wykład 4. Klasa List Kolejki Stosy Słowniki

Kurs programowania. Wykład 9. Wojciech Macyna

Programowanie w Javie- wykład 12 Kolekcje (zbiory)

Testowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Tablice i łańcuchy znakowe jako obiektowe typy danych. dr Jarosław Skaruz

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Platformy Programistyczne Podstawy języka Java

Podstawy Java. Część II. mgr inż.marcin Borkowski

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?

Wybrane algorytmy tablicowe

Programowanie obiektowe

Liczby pseudolosowe. Math. Różne sposoby generowania liczb pseudolosowych. Wybrane metody klasy Math

Diagram stanów Laboratorium 9

Podejście obiektowe. Tablice (1) obiektów

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Polimorfizm a klasy generyczne w języku Java. Zdzisław Spławski 1

Wykład 8: Obsługa Wyjątków

Algorytmy i Struktury Danych. Anna Paszyńska

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Java SE Laboratorium nr 7. Temat: Kolekcje

Ćwiczenie 1. Przygotowanie środowiska JAVA

Algorytmy i. Wykład 3: Stosy, kolejki i listy. Dr inż. Paweł Kasprowski. FIFO First In First Out (kolejka) LIFO Last In First Out (stos)

Przykład -

Wstęp do ruby dla programistów javy

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Programowanie w języku Java. Bazy danych SQLite w Javie

Zaawansowane aplikacje WWW - laboratorium

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

Programowanie obiektowe

Wprowadzenie do języka Java

Języki i metody programowania Java INF302W Wykład 3 (część 2)

Wykład 4: Klasy i Metody

Podstawy programowania obiektowego

Laboratorium 8 Diagramy aktywności

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Java klasy kolekcji dr inż. Paweł Skrzyński, Java - kolekcje, 2010/2011

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Aplikacje w Javie wykład 7 Kolekcje (listy, zbiory)

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com

Wykład 2: Podstawy Języka

WebNotarius. Specyfikacja techniczna komunikacji z usługą WebNotarius. wersja 1.1

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Lista dwukierunkowa - przykład implementacji destruktorów

Projektowanie aplikacji internetowych laboratorium

Programowanie obiektowe

Programowanie obiektowe i zdarzeniowe

Programowanie - instrukcje sterujące

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Programowanie w Javie - wykład 14 Podstawy programowania funkcyjnego

Kolekcje. Na podstawie:

Kolekcja (kontener) to po prostu obiekt, który grupuje wiele elementów w jeden twór.


Przykład 1 Iteracja 2 tworzenia oprogramowania Diagramy klas i sekwencji:

Typy uogólnione. Robert A. Kªopotek Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW

Db4o obiektowa baza danych wersja.net

Lista, Stos, Kolejka, Tablica Asocjacyjna

Aplikacje w Javie wykład 8 Kolekcje c.d. (komparatory, kolejki, mapy)

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wykład 7: Pakiety i Interfejsy

Transkrypt:

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 i zerowy element. Podaje rozmiar listy. b) tworzy listę (implementacja listy łączonej LinkedList), dodając po jednym elemencie (korzystając z operacji podstawowej add). Następnie wypisuje całą listę, usuwa dwa ostatnie elementy i wypisuje listę po usunięciu tych elementów.

import java.util.*; public class ListExample { public static void main(string args[]) { List<String> lista1= new ArrayList<String> (); lista1.add("ala"); lista1.add("ola"); lista1.add("ewa"); lista1.add("ola"); lista1.add("zosia"); System.out.println(lista1); System.out.println("2: " + lista1.get(2)); System.out.println("0: " + lista1.get(0)); System.out.println :("lista ma " + lista1.size()+ "elementow" ); List <String> lista2 = new LinkedList() <String>; lista2.add("ala"); lista2.add("ola"); lista2.add("ewa"); lista2.add("ola"); lista2.add("zosia"); System.out.println(lista2 ); lista2.removelast(); lista2.removelast(); System.out.println(lista2 );

Zadanie. 2 Utworzyć kolekcję z elementów, które są przekazane z linii poleceń (korzystając z pętli for), a następnie (korzystając z Iteratora) wypisać te elementy. Elementy są typu String.

public class Iteracja { public static void main(string args[]) { Collection <String> coll = new ArrayList<String>(); for (int i = 0; i < args.length; i++) { coll.add(args[i]); for (Iterator<?> iter = coll.iterator(); iter.hasnext();){ String element = iter.next(); System.out.println("element = " + element);

Zadanie 3. Napisać program, który elementy przekazane z linii poleceń wstawia do kolejki, a następnie elementy te są wypisywane i usuwane z kolejki (za każdym razem usuwana jest element stanowiący jej głowę). Wprowadzane elementy są typu String.

public class Odliczanie { public static void main(string[] args) { int liczba = Integer.parseInt(args[0]); Queue <Integer> kolejka = new LinkedList<Integer>(); for (int i = liczba; i >= 0; i--) { kolejka.add(i); while (!kolejka.isempty()) { System.out.println(kolejka.remove());

Zadanie 4. Napisać program, który tworzy kolekcję tylko z elementów niepowtarzających się, przekazywanych z linii poleceń, (wykorzystać zbiór do eliminacji duplikatów). Elementy są typu String.

public class Eliminacja { public static void main(string args[]) { Set <String>zbior = new HashSet<String>(); for (int i = 0; i < args.length; i++) { if (! zbior.add(args[i])) System.out.println("Duplikat!");

Zadanie 5. Zmodyfikować program z zadania 4 tak, aby przy każdej próbie dodania duplikatu wypisywał go. Następnie wypisuje ile jest słów unikalnych i wypisuje wszystkie słowa unikalne.

import java.util.*; public class Eliminacja2 { public static void main(string[] args) { Set<String> zbior = new HashSet<String>(); for (String a : args) if (!zbior.add(a)) System.out.println("Duplikat: +a); System.out.println(zbior.size()+ "unikalne słowa: " + zbior);

Zadanie 6. Napisać dwie metody: show która wyświetla elementy listy dowolnego typu. append która dodaje do listy elementy przekazane w tablicy, tablica i lista przekazywana jako parametr. Następnie wykorzystać te metody w programie, który tworzy listę napisów (elementów typu String),Lista zaimplementowana jest jako ArrayList. zapisanych tablicy i wyświetla wszystkie elementy listy.

import java.util.*; class ListUtils { static <T> void append(list<t> list, T[] items){ for (T item : items) list.add(item); static void show(list<?> list) { for (Object o : list) System.out.println(o); class Exemple{ public static void main(string args[]) { String[] items = { "Bialy", "Czerwony", "Niebieski", "Zielony" ; List<String> list1 = new ArrayList<String>(); ListUtils.append(list1, items); ListUtils.show(list1);

Zadanie 7. Zmodyfikuj program z zadania 6 tak aby powstawała lista elementów typu Integer. Lista zaimplementowana jest jako LinkedList.

import java.util.*; class ListUtils { static <T> void append(list<t> list, T[] items){ for (T item : items) list.add(item); static void show(list<?> list) { for (Object o : list) System.out.println(o); class Exemple{ public static void main(string args[]) { Integer[] arr = {1, 2, 3; List<Integer> list1 = new LinkedList<Integer>(); ListUtils.append(list1, arr); ListUtils.show(list1);

Zadanie 8. (łączenie dwóch list tego samego typu) a) Utworzyć dwie listy napisów (elementów typu String), a następnie połączyć je używając operacji grupowych (bulk) addall. Pozbyć się duplikatów. Wypisać wszystkie listy. b) Utworzyć listę_1 elementów typu Integer, a następnie dokonując konwersji tablicy nowych elementów do listy, dołączyć do listy_1. Wypisać powstałą listę.

import java.util.*; // lączymy kolekcje o elementach tych samych typów class ListUtils { static <T> void append(list<t> list, T[] items){ for (T item : items) list.add(item); static void show(list<?> list) { for (Object o : list) System.out.println(o); class Exemple{ public static void main(string args[]) { String[] items = { "Bialy", "Czerwony", "Niebieski", "Zielony" ; List<String> list1 = new ArrayList<String>(); ListUtils.append(list1, items); ListUtils.show(list1); List <String> list2 =new ArrayList<String>(Arrays.asList("Zolty", "Fioletowy" )); list1.addall(list2); System.out.println(list2); // pozbywamy się duplikatów Set <String> set1 = new HashSet<String>(list1); System.out.println(set1); List <Integer> list3 = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5)); System.out.println(list3); list3.addall(arrays.aslist(35, 1, 2, 3)); System.out.println(list3);

Zadanie 9. (łączenie dwóch list różnych typów) a) Utworzyć dwie listy jedną napisów (elementów typu String), a drugą elementów typu Integer. b) Połączyć te dwie listy: Utworzyć trzecią listę typu Object z listy1, a następnie dołączyć do tej listy listę2. Wypisać powstałą listę. c) Zsumować wszystkie liczby Integer oraz wypisać napis składający się z elementów typu String.

import java.util.*; //teraz laczymy kolekcje o różnych typach elementów class ListUtils { static <T> void append(list<t> list, T[] items{ for (T item : items) list.add(item); static <T> List<T> create(t[] items) { List<T> list = new ArrayList<T>(); append(list, items); return list; static void show(list<?> list) { for (Object o : list) System.out.println(o); class Exemple{ public static void main(string args[]) { String[] items = { "Bialy", "Czerwony", "Niebieski", "Zielony" ; List<String> list1 = new ArrayList<String>(); ListUtils.append(list1, items); ListUtils.show(list1); list2 = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5)); List<Object> list3 = new ArrayList<Object>(list1); list3.addall(list2); System.out.println(list3); // przy iteracjach już musimy posługiwać się typem Object // i ew. robić konwersje zawężające int sum = 0; String txt = ""; for(object o : list3) { if (o instanceof Integer) sum += (Integer) o; else txt += (String) o; System.out.println("Suma liczb: " + sum); System.out.println("Napis: " + txt);

Zadanie 10. a) Utworzyć listę elementów typu String, wypisać listę. b) Następnie korzystając z metody mieszającej shuffle, zmienić kolejność elementów. Wypisać listę. c) Usunąć fragment listy (od 2 do 4).wypisać listę.

import java.util.*; // mieszamy elementy listy i usuwamy fragment listy class ListUtils { static <T> void append(list<t> list, T[] items{ for (T item : items) list.add(item); static void show(list<?> list) { for (Object o : list) System.out.println(o); static void shuffle(list<?> list, Random rnd) { for (int i = list.size(); i > 1; i--) swap(list, i - 1, rnd.nextint(i)); class Exemple{ public static void main(string args[]) { String[] items = { "Bialy", "Czerwony", "Niebieski", "Zielony" ; List<String> list1 = new ArrayList<String>(); ListUtils.append(list1, items); ListUtils.show(list1); ListUtils.shuffle(list1); ListUtils.show(list1); lis1t.sublist(2,4).clear(); ListUtils.show(list1);

Zadanie 10. Utworzyć listę elemntów typu String, a następnie przekonwertować ją do tablicy.

import java.util.*; class ListUtils { static <T> void append(list<t> list, T[] items{ for (T item : items) list.add(item); static void show(list<?> list) { for (Object o : list) System.out.println(o); class Exemple{ // z listy robimy tabicę public static void main(string args[]) { String[] items = { "Bialy", "Czerwony", "Niebieski", "Zielony" ; List<String> list1 = new ArrayList<String>(); ListUtils.append(list1, items); ListUtils.show(list1); String[] tab = (String[]) list1.toarray(new String[0]); for (String string : tab) { System.out.println(string + " " + string.length());

import java.util.*; // lączymy kolekcje o elementach tych samych typów class ListUtils { static <T> void append(list<t> list, T[] items){ for (T item : items) list.add(item); static <T> List<T> create(t[] items) { ArrayList<T> list = new ArrayList<T>(); append(list, items); return list; static void show(list<?> list) { for (Object o : list) System.out.println(o); class Exemple{ public static void main(string args[]) { String[] items = { "Bialy", "Czerwony", "Niebieski", "Zielony" ; List<String> list1 = new ArrayList<String>(); ListUtils.append(list1, items); ListUtils.show(list1); List<String> list2 = ListUtils.create( new String[] { "Zolty", "Fioletowy" ); list1.addall(list2); System.out.println(list2); // pozbywamy się duplikatów Set<String> set1 = new HashSet<String>(list1); System.out.println(set1); list3 = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5)); System.out.println(list3); list3.addall(arrays.aslist(35, 1, 2, 3)); System.out.println(list3);