方式一
定义新对象,循环集合过滤不通数据,添加到新对象的方式:
package test;
import com.dimensoft.server.entity.User;
import java.util.ArrayList;
import java.util.List;
/**
* 两个集合,去除重复对象,留下新对象
*/
public class Test2 {
public static void main(String[] args) {
List<User> ulist = new ArrayList<User>();
User u1 = new User();
u1.setId(null);
u1.setIdCard("111");
ulist.add(u1);
User u2 = new User();
u2.setId(null);
u2.setIdCard("222");
ulist.add(u2);
User u5 = new User();
u5.setId(null);
u5.setIdCard("2");
ulist.add(u5);
User u6 = new User();
u6.setId(null);
u6.setIdCard("3");
ulist.add(u6);
List<User> userList = new ArrayList<User>();
User u3 = new User();
u3.setId(1);
u3.setIdCard("111");
userList.add(u3);
User u4 = new User();
u4.setId(2);
u4.setIdCard("222");
userList.add(u4);
/*User u5 = new User();
u5.setId(3);
u5.setIdCard("2");
userList.add(u5);
User u6 = new User();
u6.setId(4);
u6.setIdCard("3");
userList.add(u6);*/
List<User> newUserList = new ArrayList<User>();
for(User u: ulist){
newUserList.add(u);
}
List<User> newList = new ArrayList<User>();
for(User u: newUserList){
boolean flag = true;
for(User user: userList){
//通过身份证过滤
if(u.getIdCard().equals(user.getIdCard())){
flag = false;
break;
}
}
if(flag){
newList.add(u);
}
}
for(User ue: newList){
System.out.println(ue.getIdCard());
}
}
}
方式二
从list集合中remove对象的方式
package test;
import com.dimensoft.server.entity.User;
import java.util.ArrayList;
import java.util.List;
/**
* 两个集合,去除重复对象,留下新对象
*/
public class Test {
public static void main(String[] args) {
List<User> ulist = new ArrayList<User>();
User u1 = new User();
u1.setId(null);
u1.setIdCard("111");
ulist.add(u1);
User u2 = new User();
u2.setId(null);
u2.setIdCard("222");
ulist.add(u2);
User u5 = new User();
u5.setId(null);
u5.setIdCard("2");
ulist.add(u5);
User u6 = new User();
u6.setId(null);
u6.setIdCard("3");
ulist.add(u6);
List<User> userList = new ArrayList<User>();
User u3 = new User();
u3.setId(1);
u3.setIdCard("111");
userList.add(u3);
User u4 = new User();
u4.setId(2);
u4.setIdCard("222");
userList.add(u4);
/*User u5 = new User();
u5.setId(3);
u5.setIdCard("2");
userList.add(u5);
User u6 = new User();
u6.setId(4);
u6.setIdCard("3");
userList.add(u6);*/
List<User> newUserList = new ArrayList<User>();
for(User u: ulist){
newUserList.add(u);
}
int i=0,j=0;
for(User u: newUserList){
System.out.println("-----------i="+i);
for(User user: userList){
System.out.println("-----------j="+j);
//通过身份证过滤
if(u.getIdCard().equals(user.getIdCard()){
ulist.remove(u);
}
j++;
}
i++;
}
for(User ue: ulist){
System.out.println(ue.getIdCard());
}
}
}
实体类
package test.entity;
import java.io.Serializable;
public class User implements Serializable {
private Integer id;
private String idCard;//身份证号码
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
}