私はこれをたくさん検索し、可能な回答として提供されている投稿をチェックしましたが、誰も私に答えを与えてくれないようです。アレイリスト内のオブジェクトを削除する方法
私はオンラインユーザーを保管するこのarraylistを持っています。 ユーザーリストから読み込んで追加することができます。 問題は、私はそれを削除する方法を見つけることができないようです。
私は
online.remove("MyUsername");
を試してみました私のクラスおよび初期化子は、このようなものです:
ArrayList<userOnline> online = new ArrayList<userOnline>();
class userOnline {
String userName;
String data1;
String data2;
String data3;
}
私はそれがユーザ名とオブジェクトの行を見つけ、行を削除するだろうと思った、あるいは少なくとも、ユーザ名、それは何も削除して、私に何かエラーを与えていません。
私はそれを動作させるために何ができますか?これが不可能な場合、代替手段として何が使えますか?説明している文書へのポインタが十分な助けになるでしょう!
ありがとうございます!
溶液はこのだったように思えたが、これは議論の後
for (int i=0; i <online.size(); i++) {
if(online.get(i).userName.equals("username")) {
online.remove(i);
}
}
良い習慣と見なされ、この検索を処理し、削除するには、Javaのための唯一の正しい方法は、
あるように多くのフィードバックが思われていませんIterator<userOnline> it = online.iterator();
while (it.hasNext()) {
userOnline user = it.next();
if (currentLogin.equals(user.userName)) {
it.remove();
}
}
あなたがする必要がある);
また、あなたは
もおそらく本当にクールな「ストリーム」ベースのソリューションが、小さなステップをあります...
Iterator
を使用し、検索としてそれを削除することもできますuserOnlineクラスのequals()を定義して、オブジェクトの検索と削除ができるようにします。 –要素のインデックスを使用して削除するか、要素のオブジェクト –
を使用して削除することができますが、 'equals()'が文字列の場合はtrueを返さないようにすることができます。 – Bohemian