You are on page 1of 3

Упражнение ООП – HashMaps

Задача 1: HashMap – key Integer, values String – създаваме структура с имена на хора и техните
идентификационни номера. След това в програмният код са показани различните методи за работа с
тази структура.
package demo;
import java.util.HashMap;
public class Examples2 {
public static void main(String[] args) {

HashMap<Integer, String> map1 = new HashMap<Integer, String>();


// Добавяне на keys и values
map1.put(100, "Ivan");
map1.put(101, "Stoian");
map1.put(102, "Dragan");
map1.put(103, "Petkan");
// отпечатва цялата структура
System.out.println(map1);
//смяна на стойност по съществуващ ключ
map1.put(102, "Koko");
System.out.println(map1);
//replace()
map1.replace(101, "Gogo");
System.out.println(map1);

//putifAbsent()- вмъква, само ако няма такъв елемент – тук ще вмъкне елемент
map1.putIfAbsent(105, "Antoncho");
System.out.println(map1);
//putifAbsent()- вмъква, само ако няма такъв елемент – тук няма да смени името:

map1.putIfAbsent(100, "Angel");
System.out.println(map1);

//get
System.out.println(map1.get(100));

//values()
System.out.println(map1.values());

//entrySet() – за отпечатване в по-различен формат


System.out.println(map1.entrySet());

//contains – по ключ
System.out.println(map1.containsKey(102));
//contains – по стойност
System.out.println(map1.containsValue("Petkan"));

//print
for (Integer i : map1.keySet()) {
System.out.print("key="+i+"\t");
}
System.out.println();
for (String i : map1.values()) {
System.out.print("values="+i+"\t");
}
System.out.println();
for (Integer i : map1.keySet()) {
System.out.println("key: " + i + "\t value: " +
map1.get(i));
}

Разпечатка:
{100=Ivan, 101=Stoian, 102=Dragan, 103=Petkan}
{100=Ivan, 101=Stoian, 102=Koko, 103=Petkan}
{100=Ivan, 101=Gogo, 102=Koko, 103=Petkan}
{100=Ivan, 101=Gogo, 102=Koko, 103=Petkan, 105=Antoncho}
{100=Ivan, 101=Gogo, 102=Koko, 103=Petkan, 105=Antoncho}
Ivan
[Ivan, Gogo, Koko, Petkan, Antoncho]
[100=Ivan, 101=Gogo, 102=Koko, 103=Petkan, 105=Antoncho]
true
true
key=100 key=101 key=102 key=103 key=105
values=Ivan values=Gogo values=Koko values=Petkan values=Antoncho
key: 100 value: Ivan
key: 101 value: Gogo
key: 102 value: Koko
key: 103 value: Petkan
key: 105 value: Antoncho

Зад.2 : Класове и обекти , и HashMaps – „Книги“


Разлика между HashSet и HashMap : HashSet съдържа само стойности, докато HashMap съдържа ключ и
стойност.
Описание на клас „Book“ :
- Идентификационен номер
- Имена на книгата
- Автор
- Количество
Използваме конструктор за задаване на стойностите на атрибутите на обектите от този клас. В
главната програма създаваме 3 обекта от този клас и ги записваме в създадената структура map1.
След това разпечатваме въведената информация.
package demo;
public class Book {
int id;
String name,author;
int quantity;
public Book(int id,String name,String author, int quantity){
this.id=id;
this.name=name;
this.author=author;
this.quantity=quantity;
}
}

package demo;
import java.util.*;
public class HashMaps_Object {

public static void main(String[] args) {


// Map and HashMap
Map<Integer,Book> map1=new HashMap<Integer,Book>();
//create Books
Book b1=new Book(100,"Networking","Wiley",6 );
Book b2=new Book(101,"Java I","Galvin",10);
Book b3=new Book(102,"C++","BPB",5);
//add
map1.put(1, b1);
map1.put(2, b2);
map1.put(3, b3);
//traversing
for(Map.Entry<Integer, Book> entry:map1.entrySet()){
int key=entry.getKey();
Book b=entry.getValue();
System.out.print(key+"\t"+"details:\t");

System.out.println(b.id+"\t"+b.name+"\t"+b.author+"\t"+b.quantity);
}
}

Разпечатка:
1 details: 100 Networking Wiley 6
2 details: 101 Java I Galvin 10
3 details: 102 C++ BPB 5
Напишете показаните примери за упражнение и тествайте кода!
Преподавател: инж. В. Маринова

You might also like