आप एक पंक्ति में उन्हें जरूरत नहीं है बस remove
का उपयोग जब यह मेल खाता है एक आइटम को हटाने के लिए:
Iterator<Friend> it = list.iterator();
while (it.hasNext()) {
if (it.next().getFriendCaption().equals(targetCaption)) {
it.remove();
// If you know it's unique, you could `break;` here
}
}
पूर्ण डेमो:
import java.util.*;
public class ListExample {
public static final void main(String[] args) {
List<Friend> list = new ArrayList<Friend>(5);
String targetCaption = "match";
list.add(new Friend("match"));
list.add(new Friend("non-match"));
list.add(new Friend("match"));
list.add(new Friend("non-match"));
list.add(new Friend("match"));
System.out.println("Before:");
for (Friend f : list) {
System.out.println(f.getFriendCaption());
}
Iterator<Friend> it = list.iterator();
while (it.hasNext()) {
if (it.next().getFriendCaption().equals(targetCaption)) {
it.remove();
// If you know it's unique, you could `break;` here
}
}
System.out.println();
System.out.println("After:");
for (Friend f : list) {
System.out.println(f.getFriendCaption());
}
System.exit(0);
}
private static class Friend {
private String friendCaption;
public Friend(String fc) {
this.friendCaption = fc;
}
public String getFriendCaption() {
return this.friendCaption;
}
}
}
आउटपुट:
$ java ListExample
Before:
match
non-match
match
non-match
match
After:
non-match
non-match
स्रोत
2011-11-17 22:03:14
मुझे डर है कि सवाल ज्यादा समझ में नहीं आता है। आपको उन पंक्तियों को एक के रूप में लिखने की आवश्यकता क्यों है? –
यह, मेरी मदद करो धन्यवाद है .. ^^ –