Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // załóżmy że dodaje książki w takiej kolejnośći
- // new Book("Ksiazka 1")
- // new Book("Ksiazka 1")
- // new Book("Ksiazka 1")
- // new Book("Ksiazka 2")
- // new Book("Ksiazka 2")
- // w mapie na pierwszej pozycji do iterowania znajduje się "Ksiazka 1", dlatego pierwsze 3 ksiazki dodaja sie prawidlowo poniewaz metoda equals zostaje na nich wywolana
- // Pierwsza "Ksiazka 2" zostaje dodana prawidlowo
- // podczas proby dodania drugiej "Ksiazka 2" mapa zostaje iterowana i metoda equals porownuje "Ksiazka 1" z "Ksiazka 2", daje false wchodzi do elsa dodajac nowy obiekt z nowym ID zamiast dodajac kopie do istniejacego obiektu, po prostu po porownaniu pierwszego obiektu w mapie zamiast dalej iterowac i przeszukac cala mape wchodzimy do elsa
- public void addBook(Book newAddbook) {
- if (bookMap.values().isEmpty()) {
- Integer id = uniqueID++;
- newAddbook.setId(id);
- bookMap.put(id, newAddbook);
- return;
- }
- for (Book book : bookMap.values()){
- if (book.equals(newAddbook)) {
- book.addCopy();
- return;
- } else {
- Integer id = uniqueID++;
- newAddbook.setId(id);;
- bookMap.put(id, newAddbook);
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment