Advertisement
Kimes

Untitled

Mar 29th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.17 KB | None | 0 0
  1. // załóżmy że dodaje książki w takiej kolejnośći
  2. // new Book("Ksiazka 1")
  3. // new Book("Ksiazka 1")
  4. // new Book("Ksiazka 1")
  5. // new Book("Ksiazka 2")
  6. // new Book("Ksiazka 2")
  7.  
  8. // 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
  9. // Pierwsza "Ksiazka 2" zostaje dodana prawidlowo
  10. // 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
  11.  
  12. public void addBook(Book newAddbook) {
  13.             if (bookMap.values().isEmpty()) {
  14.                 Integer id = uniqueID++;
  15.                 newAddbook.setId(id);
  16.                 bookMap.put(id, newAddbook);
  17.                 return;
  18.             }
  19.             for (Book book : bookMap.values()){
  20.                 if (book.equals(newAddbook)) {
  21.                     book.addCopy();
  22.                     return;
  23.                 } else {
  24.                     Integer id = uniqueID++;
  25.                     newAddbook.setId(id);;
  26.                     bookMap.put(id, newAddbook);
  27.                     return;
  28.                 }
  29.                
  30.             }
  31.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement