如何往对象数组里添加数据 - Java

引言

在Java编程中,我们经常面临着需要将数据添加到对象数组中的情况。对象数组是一种数据结构,它可以存储多个同类型的对象。在某些情况下,我们可能需要动态地向对象数组中添加数据,而不是在创建数组时就指定数据的数量。本篇文章将介绍如何在Java中往对象数组中添加数据,并给出一个实际问题的解决方案。

实际问题

假设我们正在开发一个图书管理系统。系统需要有一个功能,即允许管理员向系统中添加新的图书。为了实现这个功能,我们需要创建一个对象数组来存储图书信息。每个图书对象包含以下属性:

  • 书名
  • 作者
  • 出版社
  • ISBN号

我们需要编写代码,使管理员能够通过输入图书信息来往对象数组中添加新的图书。

解决方案

我们可以通过以下步骤来解决上述问题:

  1. 创建一个Book类来表示图书对象。该类应包含上述提到的属性,并提供相应的getter和setter方法。
  2. 创建一个对象数组来存储图书信息。初始化数组时,可以指定一个较大的初始容量,以便在需要时可以动态扩展数组。
  3. 编写一个方法来接收用户输入的图书信息,并将其添加到对象数组中。

接下来,我们将逐步展示如何实现上述解决方案。

创建Book

首先,我们需要创建一个Book类来表示图书对象。可以按照以下方式定义Book类:

public class Book {
    private String title;
    private String author;
    private String publisher;
    private String isbn;

    // 构造方法
    public Book(String title, String author, String publisher, String isbn) {
        this.title = title;
        this.author = author;
        this.publisher = publisher;
        this.isbn = isbn;
    }

    // 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 String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }
}

创建对象数组

接下来,我们需要创建一个对象数组来存储图书信息。可以按照以下方式定义一个对象数组,并初始化它:

Book[] books = new Book[10];
int count = 0;  // 当前图书数量

在这个例子中,我们创建了一个长度为10的对象数组,并将其命名为books。我们还创建了一个变量count用于跟踪当前数组中的图书数量。

添加图书信息

最后,我们需要编写一个方法来接收用户输入的图书信息,并将其添加到对象数组中。可以按照以下方式实现这个方法:

public void addBook(String title, String author, String publisher, String isbn) {
    Book book = new Book(title, author, publisher, isbn);
    
    // 将图书对象添加到数组中
    books[count] = book;
    count++;
}

在这个例子中,我们首先创建一个新的Book对象,使用用户输入的图书信息初始化它。然后,我们将新创建的图书对象添加到对象数组中,并将count变量递增1。

示例代码

下面是一个完整的示例代码,演示如何往对象数组中添加图书信息:

public class Main {
    public static void main(String[] args) {
        Book[] books = new Book[10];
        int count = 0;

        // 添加图书信息
        addBook("Java编程思想", "Bruce Eckel", "机械工业出版社", "9787111128046");
        addBook("Effective Java", "Joshua Bloch", "Addison-Wesley Professional", "9780321356680");
        addBook("Clean Code", "Robert C. Martin", "Prentice Hall", "9780132350884");

        // 打印图书