本帖最后由 纪艺松 于 2012-7-30 13:10 编辑
import java.util.*;
class Person{
private int id;
Person(int id){
this.id = id;
}
boolean equals(Person p){
return this.id == p.id;
}
public String toString(){
return "person"+"("+id+")";
}
}
class ex2 {
public static void main(String[] args){
List<Person> li = new LinkedList<Person>();
List<Person> li1 = new LinkedList<Person>();
for(int i=0; i<10; i++){
li.add(new Person(i));
}
System.out.println("之前完整集合li");
System.out.println(li);
li1 = li.subList(2, 5);
System.out.println("sub集合li1");
System.out.println(li1);
/*
for(Person p : li){
for(Person p1 : li1){
if(p.equals(p1))
li.remove(p);
}
}*/
/*
for(int i=0; i<li.size(); i++){
for(int j=0; j<li1.size(); j++){
if(li.get(i)==li1.get(j))
li.remove(i);
}
}
*/
Iterator<Person> it = li.iterator();
Iterator<Person> it1 = li1.iterator();
while(it.hasNext()){
while(it1.hasNext()){
if(it.next()==it1.next()){
it.remove();
}
}
}
System.out.println("去除后的集合");
System.out.println(li);
}
}
三种好像都不行。。。 |
|