如何从具有来自另一个类的字符串和int值的arraylist中获取特定元素

时间:2012-10-12 04:09:26

标签: java arraylist

这是我的问题。

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

任务: - 我需要做的是从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.

3 个答案:

答案 0 :(得分: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();

希望这有帮助。

答案 1 :(得分:2)

List.get(int index)返回位置index的元素。

可能是您正在寻找的是

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

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

private ArrayList<A> myList;

您应该将其声明为

private List<A> myList;

尽可能针对接口编码。

答案 2 :(得分:0)

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

如果要为A创建查找对象并设置值并使用此对象进行查找。

示例:

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

班级B

myList.get(tempObj);