2

これが私の問題です。

別のクラスのArrayListに配置される名前の文字列と数値のintを持つクラスAがあります。

タスク:-私がする必要があるのは、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)位置にある要素を返します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 に答える