将几个文本字段放入一个arraylist中

时间:2015-05-25 18:26:57

标签: java arrays string arraylist add

在编码方面,我非常棒。我即将创建一个程序,您可以在文本字段中添加书籍的标题(String),作者(String),发行年份(int)和流派(String)。这些东西应该保存在一个arraylist中。我无法弄清楚如何将所有这些项添加到arraylist中的同一个插槽中。请尽快帮助。

3 个答案:

答案 0 :(得分:1)

在原帖中建立我的评论,这是您的图书类应该是什么样的:

public class Book {
    private String title;
    private String author;
    private String genre;
    private int releaseYear;

    public Book(String title, String author, String genre, int releaseYear) {
        this.title = title;
        this.author = author;
        this.genre = genre;
        this.releaseYear = releaseYear;
    }

    public String getTitle() { return this.title; }
    public String getAuthor() { return this.author; }
    public String getGenre() { return this.genre; }
    public int getReleaseYear() { return this.releaseYear; }
}

现在您需要做的就是创建这些类的多个实例,并将它们添加到ArrayList中。

以下是一些如何使用ArrayLists的示例的链接:http://beginnersbook.com/2013/12/how-to-initialize-an-arraylist/

答案 1 :(得分:1)

所以你需要创建一个带有getter / setter的book类。

public class Book {
    public String title; 
    public String author; 
    public int year; 
    public String genre; 
}

然后你创建一本书

Book book = new Book(); 

使用setter设置实例变量(或者如果你有一个具有适当参数的构造函数,你可以在创建book对象时执行此操作)

book.setAuthor("R.L.Stein"); 

设置完所有字段后,将书籍添加到数组列表中。

ArrayList<Book> books = new ArrayList<Book>(); 
books.add(book); 

要进行打印,您应该在book book

中使用toString()方法
public String toString(){
   return "Title: "+title+"\nAuthor: "+author+"\nYear: "+year+"\nGenre: "+
        genre; 
}

现在,当您打印书籍对象时,它将显示其所有信息。然后最好使用循环遍历列表并在书中打印每本书

for(int i=0; i<books.size(); i++){
   System.println(books.get(i)); 
}

答案 2 :(得分:0)

你可以用两种方式做到这一点。

  1. 创建一个包含 title(String),author(String),release year(int)和genre(String)的类,并创建该类的新实例并将其添加到数组。这是classes上的javadoc。

  2. (不推荐,但仍然有效)您可以创建一个大小为4的数组列表。该数组将是一个支持整数的Object。示例:Object[] obj = new Object[]{"title", "author", 2015, "genre"};然后,您可以将数组添加到要添加此信息的其他数组中。

  3. 如果你想选择两个并在这里创建一个类是一个例子:

    public class Book {
    
        private String title, author, genre;
        private int releaseYear;
    
        public Book(String title, String author, int releaseYear, String genre){
            this.title = title;
            this.author = author;
            this.releaseYear = releaseYear;
            this.genre = genre;
        }
    
        public String getTitle() {
            return title;
        }
    
        public String getAuthor() {
            return author;
        }
    
        public String getGenre() {
            return genre;
        }
    
        public int getReleaseYear() {
            return releaseYear;
        }
    
        public void setTitle(String title) {
            this.title = title;
        }
    
        public void setAuthor(String author) {
            this.author = author;
        }
    
        public void setGenre(String genre) {
            this.genre = genre;
        }
    
        public void setReleaseYear(int releaseYear) {
            this.releaseYear = releaseYear;
        }
    
    }
    

    如果您想创建Book类的新实例,您可以这样做:

    Book book = new Book("title", "author", 2015, "genre");