ArrayList和公共类

时间:2018-04-08 19:05:35

标签: java arraylist

我是大学一年级学生,我需要一些帮助。首先,代码是基于我在讲座中所教授的内容。如您所见,我创建了一个公共类Question1,它接受数组列表的属性。

我遇到的主要问题是,你可以看到我编写了.add函数,允许我添加到arraylist。但我在假设,它是如何设置它意味着我不能使用基本的arraylist函数。我需要添加的主要部分是.remove,所以我可以根据索引从arraylist中删除。另一个是.get。

是否有一种简单的方法可以使其默认为ArrayList函数,或者有人可以像我使用.add那样帮助我创建它们。

班级代码:

import java.util.ArrayList;

public class Question1 {

    private ArrayList<Question1Entry> entries;

    public Question1() {
        entries = new ArrayList<Question1Entry>();
    }

    public void add( String name, String studentNumber, String courseName, String courseID, String houseNumber, String streetName, String town, String postcode ) {
        entries.add(new Question1Entry(name, studentNumber, courseName, courseID, houseNumber, streetName, town, postcode ));
    }


    //PhoneBook.java given code
    public String toString( ) {
        StringBuffer temp = new StringBuffer();
        for (int i = 0; i < entries.size(); ++i) {
            temp.append( entries.get(i).toString() + "\n" );
        }
        return temp.toString();
    }    
}

测试文档中的代码:

Question1 sd = new Question1();

(松散到唯一相关部分)

2 个答案:

答案 0 :(得分:0)

如果你知道索引,你可以使用remove和get方法完成同样的操作:

public void removeQuestion(int index){
  entries.remove(index);
}

public Question1Entry getQuestion(int index){
  return entries.get(index);
}

如果您不知道索引,则可以循环访问您的条目ArrayList,将您拥有的任何信息与列表中的对象进行比较,该方法可能类似于以下内容:

public Question1Entry getQuestion(your infos){
  for(Question1Entry q : entries){
    //compare it
    if(correct){
      return q;
    }
  }
}

答案 1 :(得分:-1)

假设您有一个arrayList x,您可以始终使用x.get(index)或x.remove(index)元素。我不完全明白你在这里遇到的困难。与你制作添加方法的方法相同

     public void remove(int index){return entries.remove(index);}
     public String get(int index){return entries.get(index);}