/*
Dla nas kontener to po prostu obiekt, który może przechowywać jakieś dane w określony
sposób. Aby odnieść się do czegoś znanego, można z dużym uproszczeniem przyjąć,
że najprostszym kontenerem jest tablica, jednak oczywiście prawdziwe kontenery
to klasy znacznie bardziej skomplikowane.
*/
package java6spotkanie;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
/**
*
* @author HZembr01
*/
class Kontenery {
public static void main
(String[] args
) { // arraylist
System.
out.
println("Przyklad dla ArrayList"); // Tworzenie pustej listy
ArrayList<String> list = new ArrayList<String>();
// dodawanie elementów do listy
list.add("Agnieszka");
list.add("Patrycja");
list.add(2, "KasiaF"); // doda sie jako trzeci element listy
list.add("KasiaA");
// Wyswietla zawartosc listy
System.
out.
println("Zawartosc listy to: " + list);
// Sprawdzanie indeksu elementu
int pos = list.indexOf("Patrycja");
System.
out.
println("Indeksem pozycji patrycja jest: " + pos
);
// Sprawdzanie czy lista jest pusta
boolean check = list.isEmpty();
System.
out.
println("Sprawdzanie czy lista jest pusta: " + check
);
// Pobieranie rozmiaru listy
int size = list.size();
System.
out.
println("Rozmiar listy to: " + size
);
// Sprawdzanie czy element należy do listy
boolean element = list.contains("Hubert");
.println("Czy lista zawiera Hubert: "
+ element);
// Pobieranie konkretnej wartosci - w tym przypadku 0
System.
out.
println("Zawartosc listy w indexie 0 to: " + item
);
// Uzyskiwanie elementów z listy
// 1 Pobieranie elementow poprzez petle uzywajac rozmiaru listy
System.
out.
println("Pobieranie elementow poprzez petle uzywajac rozmiaru listy"); for (int i = 0; i < list.size(); i++) {
System.
out.
println("Index: " + i
+ " - Item: " + list.
get(i
)); }
// 2 Pobieranie elementow uzywajac foreach
System.
out.
println("Pobieranie elementow uzywajac foreach"); System.
out.
println("Item is: " + str
); }
// 3 uzywajac iteratora
// hasNext(): zwraca true jesli jest wiecej elementow
// next(): zwraca nastepny element
System.
out.
println("Pobieranie elementow poprzez petle uzywajac iteratora"); for (Iterator<String> it = list.iterator(); it.hasNext();) {
System.
out.
println("Item is: " + it.
next()); }
// zamiana elemenetow
list.set(1, "Hubert");
System.
out.
println("Lista po zamianie: " + list
);
// kasowanie elementow
// kasowanie pierwszego elementu
list.remove(0);
// kasowanie pierwszego elementu pasujacego do wzorca
list.remove("KasiaF");
System.
out.
println("Lista po zmianach wyglada tak: " + list
);
// konwersja listy do tablicy
String[] simpleArray
= list.
toArray(new String[list.
size()]); System.
out.
println("Tablica utworzona z elementow listy: " + Arrays.
toString(simpleArray
));
// HashMap
System.
out.
println("Przyklad dla HashMap"); //HashMap words = new HashMap();
long totalTime = 0;
Scanner input
= new Scanner
(System.
in);
for (int i = 1; i <= 8; i++) {
long callTimeStart
= System.
currentTimeMillis(); long callTimeStop
= System.
currentTimeMillis(); long callTime = callTimeStop - callTimeStart;
totalTime += callTime;
words.put(word, callTime);
}
System.
out.
println("Wypisanie kluczy HashMap"); Iterator iter
= words.
keySet().
iterator(); for (int i = 1; i <= words.keySet().size(); i++) {
System.
out.
println(iter.
next()); }
System.
out.
println("Wypisanie wartosci HashMap"); iter = words.values().iterator();
for (int i = 1; i <= words.keySet().size(); i++) {
System.
out.
println(iter.
next()); }
System.
out.
println("Wypisanie par HashMap"); //iter = words.entrySet().iterator();
Set set
= words.
entrySet(); //iter = set.iterator();
for (iter = set.iterator(); iter.hasNext();) {
System.
out.
println("Item is: " + iter.
next()); }
/*for (int i = 1; i <= 8; i++) {
System.out.println(iter.next());
}*/
System.
out.
println(words.
size() + " unikalnych słów. " + totalTime
+ " milisekund. "); // TreeSet
System.
out.
println("Przyklad dla TreeSet"); TreeSet<Integer> tree = new TreeSet<Integer>();
tree.add(12);
tree.add(63);
tree.add(34);
tree.add(45);
// set jest typem uporzadkowanym, sprawdzmy jakie wartosci ma w kontenerze
Iterator<Integer> iterator = tree.iterator();
System.
out.
print("Wartosci TreeSet: ");
// wyswietlenie
while (iterator.hasNext()) {
System.
out.
print(iterator.
next() + " "); }
// sprawdzanie czy jest pusta
if (tree.isEmpty()) {
System.
out.
print("TreeSet jest pusta."); } else {
System.
out.
println("TreeSet ma rozmiar: " + tree.
size()); }
// Wyciaganie pierwszego elementu
System.
out.
println("Pierwszy element: " + tree.
first());
// Wyciagainie ostatniego elementu
System.
out.
println("Ostatni element: " + tree.
last());
if (tree.remove(45)) { // usuwanie po wartosci
System.
out.
println("Element skasowany z TreeSet"); } else {
System.
out.
println("Element nie istnieje!"); }
System.
out.
print("Kontener zawiea teraz : "); iterator = tree.iterator();
// Wyswietlanie elementow
while (iterator.hasNext()) {
System.
out.
print(iterator.
next() + " "); }
System.
out.
println("Rozmiar TreeSet teraz to: " + tree.
size());
// usuwanie wszystkiego
tree.clear();
if (tree.isEmpty()) {
System.
out.
print("TreeSet jest pusty."); } else {
System.
out.
println("Rozmiar TreeSet teraz to: " + tree.
size()); }
}
}