2

这是我的问题。

我有一个 A 类,它有一串名称和 int 数字,它们被放入另一个类的 ArrayList 中。

任务:- 我需要做的是从数组列表中的 index(0) 中获取名字并将其作为字符串返回。

public class A
  {  
  private String name;
  private int num;
  public A(String aName, int bNum)
  {
    name = aName;
    num = bNum;
  public String getName()
  {return name; }
  public int getNum()
  {return num;}
  }
  } 

//class b inserts elements of class a into arraylist
public class b
  {
  private ArrayList<A> myList;
  }
  public b()
  myList = new ArrayList<A>;

  public void addAll(A all)
  { myList.add(all);}

//get method required for issue above.
4

3 回答 3

3

检查您的列表是否存在任何项目。如果存在,则检索第一个元素并获取它的名称以返回,否则根据需要返回 null 或空字符串。

    public String getFirstElementName(){
        String name = null;//or ""
        if(myList.size() >0){
           name = myList.get(0).getName);
        }
        return name;
    }

编辑:

    public A getFirstElement(){
        A a = null;//or ""
        if(myList.size() >0){
           a= myList.get(0);
        }
        return a;
    }

在你调用这个方法的地方,你可以写成:

   A a = getFirstElement();
   String name = a.getName();
   int number= a.getNum();

希望这可以帮助。

于 2012-10-12T04:22:00.210 回答
2

List.get(int index)返回 position 处的元素index

可能是你正在寻找的是

A firstA = myList.get(0);
String name = firstA.getName();

此外,而不是将您的列表声明为

private ArrayList<A> myList;

你应该把它声明为

private List<A> myList;

尽可能针对接口编写代码。

于 2012-10-12T04:13:51.463 回答
0

您需要根据对象相等性要求覆盖equals()hashcode()类。A

当您想要进行查找时,请为 A 创建对象并设置值并使用此对象进行查找。

例子:

A tempObj = new A("name", 5);

在班上B

myList.get(tempObj);
于 2012-10-12T04:10:11.183 回答