如下代码:
String qq="123456";
List<Friend> friends=server.getFriend();
for(int i=0;i<friends.size();i++){
if(!friends.get(i).getQq().equals(qq)){
friends.remove(i);
}
}
有何错?
String qq="123456";
List<Friend> friends=server.getFriend();
for(int i=0;i<friends.size();i++){
if(!friends.get(i).getQq().equals(qq)){
friends.remove(i);
}
}
有何错?
for (Iterator<Friend> iterator = friends.iterator(); iterator.hasNext()) {
Friend entry = (Friend) iterator.next();
if(!entry.getQq().equals(qq)){
iterator.remove();
}
}直接打上来的代码,可能有小错误,你测试下吧。
即在friends.remove(i);后面加一句: i--;
List<Friend> friends=server.getFriend();
if( friends != null){
for(int i=friends.size()-1;i>= 0; i--){
if(!friends.get(i).getQq().equals(qq)){
friends.remove(i);
}
}
}
String qq="123456";
List<Friend> friends=server.getFriend();
for(int i=0;i<friends.size();i++){
if(!friends.get(i).getQq().equals(qq)){
friends.remove(i);
}
}
对于List建议不要使用这种方法去遍历,效率比较低,建议使用Iterator
有区别吗?还是要调用其remove方法。。