0

私は2つのクラスを持っています。

public class klass1 {

String bir;
String myID;

klass1(String bir, String myID)
{
    this.bir=bir;
    this.myID=myID;
}

}

.

import java.util.*;

public class dd {

public static void main(String[] args) {

    ArrayList<Object> ar=new ArrayList();

    ar.add(new klass1("wer","32"));
    ar.add(new klass1("das","23"));
    ar.add(new klass1("vz","45"));
    ar.add(new klass1("yte","12"));
    ar.add(new klass1("rwwer","43"));

    ar.remove(new klass1("vz","45"));//it's not worked!!!

    System.out.println(ar.size());

}

}

私が欲しいのは、オブジェクトの2番目の属性を持つ配列リストからオブジェクトを削除または取得することです。どうやってやるの?簡単な方法はありますか?

4

3 に答える 3

2

equalsクラス Klass1 にメソッドを実装するだけです。

public class Klass1 {

    String bir;
    String myID;

    Klass1(String bir, String myID)
    {
        this.bir=bir;
        this.myID=myID;
    }

    public boolean equals(Object o){
        if(o instanceof Klass1)
            return ((Klass1)o).myID.equals(myID);
        else
            return false;
    }

}

于 2013-11-11T14:27:57.767 に答える
0

arraylist にない新しいオブジェクトを削除しようとしているためです。使用new klass1("vz","45")すると、配列リストにないこのクラスの新しいインスタンスを作成しています。

于 2013-11-11T14:28:15.680 に答える