ArrayList
- хорошая реализация, если вам нужно сохранить ваши объекты в списке.Хорошая альтернатива для коллекции книг: реализация Map
.Это полезно, если каждая книга может быть идентифицирована по уникальному ключу (имя, номер ISBN, ...), и вы используете этот ключ, чтобы «получить» книгу из коллекции.
Книга - это объект наон включен и должен моделироваться с классом Book
.Поэтому, если вы хотите хранить книги в структуре списка, все будет в порядке:
List<Book> books = new ArrayList<Book>();
books.add(new Book("Robert C. Martin","Clean Code"));
books.add(new Book("Joshua Bloch","Effective Java"));
Для карты фрагмент кода может выглядеть следующим образом:
Map<String, Book> books = new HashMap<String, Book>();
books.put("978-0132350884", new Book("Robert C. Martin","Clean Code"));
books.put("978-0321356680", new Book("Joshua Bloch","Effective Java"));
Редактировать- найти книгу и обновить цену
Со списком вы должны перебирать список до тех пор, пока вы не найдете объект, представляющий книгу, которую вы ищете.Это проще с картой, показанной выше, если вы всегда можете использовать ISBN, например.Со списком это выглядит так:
List<Book> books = getBooks(); // get the books from somewhere
for (Book book:books) {
if (matchesSearchCriteria(book)) { // some method to identify a book, placeholder!
book.setPrice(newPrice); // modify the books price
break;
}
}