1. hyh对象
Student {
private java.lang.String telnum;
private String tansid;
private String status; }
2.能开对象
public class Person {
private java.lang.String telnum;
private String tansid;
private String status;}
3.需要的对账对象
public class Man {
private java.lang.String telnum;
private String tansid;
private String status;
private String errorCode;}
============================================================================================
说明: 此案例中,和约会订单有几万条,能开有几万条,每条记录的流失号唯一
讨论下面3种情况: 流水号 hyh有,能开无
hyh无,能开有
hyh有,能开有
public class helloworld {
public static void main(String[] args)
{
//和约会集合(几万条)
List<Student> stuList = new ArrayList<>();
//能开集合
List<Person> personList = new ArrayList<>();
//对战文件集合
List<Man> manList = new ArrayList<>();
Map<String,Student> map = new HashMap<>();
//将能开数据放入map
for (Person person : personList) {
map.put(person.getTansid(), person);
}
personList.clear();
Man man = null;
for (Student stu : stuList) {
man = new Man();
if(map.containsKey(stu.getTansid())){
//hyh有,能开有
//dosomthing
man.setErrorCode(errorCode);
//map中有hyh的transid,清除掉; map中剩下的就是(hyh无,能开有)
map.remove(stu.getTansid());
}else{
//hyh有,能开无
man.setErrorCode(errorCode);
}
manList.add(man);
}
//for循环map,如果不为空,则这些流水是hyh无,能开有
if(null !=map){
man = new Man();
for(Student stu : map.values()){
man.setErrorCode(errorCode);
manList.add(man);
}
}
//将manList批量插入oralce数据库中
}
}