某图书馆里有很多藏书,需要设计一个系统,能够实现添加、删除、修改和查询图书的功能,请使用集合实现这个简单的图书管理系统
时间: 2024-02-24 11:57:29 浏览: 95
好的,这是一个使用集合实现简单的图书管理系统的问题。我可以帮你解决这个问题。
首先,我们需要设计一个Book类,用于表示一本书。Book类包含书的基本信息,如书名、作者、出版社、出版日期等。可以如下定义一个Book类:
```java
public class Book {
private String title; // 书名
private String author; // 作者
private String publisher; // 出版社
private Date publishDate; // 出版日期
// 构造函数
public Book(String title, String author, String publisher, Date publishDate) {
this.title = title;
this.author = author;
this.publisher = publisher;
this.publishDate = publishDate;
}
// getter和setter方法
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public Date getPublishDate() {
return publishDate;
}
public void setPublishDate(Date publishDate) {
this.publishDate = publishDate;
}
}
```
接下来,我们可以使用ArrayList集合来存储图书。可以如下定义一个BookManager类,用于管理图书:
```java
import java.util.ArrayList;
import java.util.Date;
public class BookManager {
private ArrayList<Book> books; // 存储图书的ArrayList集合
public BookManager() {
books = new ArrayList<Book>();
}
// 添加图书
public void addBook(Book book) {
books.add(book);
}
// 删除图书
public void removeBook(Book book) {
books.remove(book);
}
// 修改图书
public void updateBook(Book book) {
int index = books.indexOf(book);
if (index != -1) {
books.set(index, book);
}
}
// 查询图书
public ArrayList<Book> queryBooks(String keyword) {
ArrayList<Book> result = new ArrayList<Book>();
for (Book book : books) {
if (book.getTitle().contains(keyword) || book.getAuthor().contains(keyword) || book.getPublisher().contains(keyword)) {
result.add(book);
}
}
return result;
}
// 测试程序
public static void main(String[] args) {
BookManager manager = new BookManager();
// 添加图书
Book book1 = new Book("Java编程思想", "Bruce Eckel", "机械工业出版社", new Date());
manager.addBook(book1);
Book book2 = new Book("Effective Java", "Joshua Bloch", "Addison-Wesley", new Date());
manager.addBook(book2);
// 查询图书
ArrayList<Book> result = manager.queryBooks("Java");
for (Book book : result) {
System.out.println(book.getTitle() + " " + book.getAuthor() + " " + book.getPublisher());
}
// 修改图书
book2.setTitle("Effective Java 第二版");
manager.updateBook(book2);
// 删除图书
manager.removeBook(book1);
// 查询图书
result = manager.queryBooks("Java");
for (Book book : result) {
System.out.println(book.getTitle() + " " + book.getAuthor() + " " + book.getPublisher());
}
}
}
```
以上就是一个简单的使用集合实现的图书管理系统。你可以根据需要进行扩展。
阅读全文