package com.bean; import java.util.Date; public class Hycosysfightservicemail { private String flightnumber; private Date actualdate; private String inflag; private Integer mailnum; private Double mailweight; public String getFlightnumber() { return flightnumber; } public void setFlightnumber(String flightnumber) { this.flightnumber = flightnumber; } public Date getActualdate() { return actualdate; } public void setActualdate(Date actualdate) { this.actualdate = actualdate; } public String getInflag() { return inflag; } public void setInflag(String inflag) { this.inflag = inflag; } public Integer getMailnum() { return mailnum; } public void setMailnum(Integer mailnum) { this.mailnum = mailnum; } public Double getMailweight() { return mailweight; } public void setMailweight(Double mailweight) { this.mailweight = mailweight; } }
package com.bean; import java.util.Date; public class Hyflightmanifest { private String flightnumber; private String inflag; private Date schdate; private Integer mailnum; private Double mailweight; public String getFlightnumber() { return flightnumber; } public void setFlightnumber(String flightnumber) { this.flightnumber = flightnumber; } public String getInflag() { return inflag; } public void setInflag(String inflag) { this.inflag = inflag; } public Date getSchdate() { return schdate; } public void setSchdate(Date schdate) { this.schdate = schdate; } public Integer getMailnum() { return mailnum; } public void setMailnum(Integer mailnum) { this.mailnum = mailnum; } public Double getMailweight() { return mailweight; } public void setMailweight(Double mailweight) { this.mailweight = mailweight; } }
package com.main; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import com.bean.Hycosysfightservicemail; import com.bean.Hyflightmanifest; public class Test { private List<Hycosysfightservicemail> getHycosysfightservicemail() { List<Hycosysfightservicemail> maillist = new ArrayList<Hycosysfightservicemail>(); Hycosysfightservicemail mialbean = new Hycosysfightservicemail(); mialbean.setActualdate(new Date()); mialbean.setFlightnumber("HU123"); mialbean.setInflag("A"); mialbean.setMailnum(new Integer("100")); mialbean.setMailweight(new Double("123.1")); maillist.add(mialbean); Hycosysfightservicemail mialbean2 = new Hycosysfightservicemail(); mialbean2.setActualdate(new Date()); mialbean2.setFlightnumber("RU123"); mialbean2.setInflag("A"); mialbean2.setMailnum(new Integer("200")); mialbean2.setMailweight(new Double("123.1")); maillist.add(mialbean2); return maillist; } private List<Hyflightmanifest> getHyflightmanifest() { List<Hyflightmanifest> manifestlist = new ArrayList<Hyflightmanifest>(); Hyflightmanifest manifestbean = new Hyflightmanifest(); manifestbean.setSchdate(new Date()); manifestbean.setFlightnumber("HU123"); manifestbean.setInflag("A"); manifestbean.setMailnum(new Integer("400")); manifestbean.setMailweight(new Double("27.9")); manifestlist.add(manifestbean); Hyflightmanifest manifestbean2 = new Hyflightmanifest(); manifestbean2.setSchdate(new Date()); manifestbean2.setFlightnumber("CZ123"); manifestbean2.setInflag("A"); manifestbean2.setMailnum(new Integer("1000")); manifestbean2.setMailweight(new Double("27.9")); manifestlist.add(manifestbean2); return manifestlist; } private Hyflightmanifest findAndRemoveFromList2( List<Hyflightmanifest> list2, Hycosysfightservicemail mail) { for (Iterator<Hyflightmanifest> iterator = list2.iterator(); iterator .hasNext();) { Hyflightmanifest hyflightmanifest = (Hyflightmanifest) iterator .next(); if (hyflightmanifest.getFlightnumber().equals( mail.getFlightnumber()) && hyflightmanifest.getInflag().equals(mail.getInflag()) && hyflightmanifest.getSchdate().getTime() == mail .getActualdate().getTime()) { iterator.remove(); return hyflightmanifest; } } return null; } public static void main(String[] args) { List<Hycosysfightservicemail> list3 = new ArrayList<Hycosysfightservicemail>(); Test test = new Test(); List<Hycosysfightservicemail> list1 = test.getHycosysfightservicemail(); List<Hyflightmanifest> list2 = test.getHyflightmanifest(); for (Iterator<Hycosysfightservicemail> iterator = list1.iterator(); iterator.hasNext();) { Hycosysfightservicemail hycosysfightservicemail = (Hycosysfightservicemail) iterator .next(); Hyflightmanifest hyflightmanifest = test.findAndRemoveFromList2(list2, hycosysfightservicemail); // 有则相加 if(null != hyflightmanifest){ Hycosysfightservicemail mailbean3 = new Hycosysfightservicemail(); mailbean3.setFlightnumber(hycosysfightservicemail.getFlightnumber()); mailbean3.setInflag(hycosysfightservicemail.getInflag()); mailbean3.setActualdate(hycosysfightservicemail.getActualdate()); mailbean3.setMailnum(hycosysfightservicemail.getMailnum()+ hyflightmanifest.getMailnum()); mailbean3.setMailweight(hycosysfightservicemail.getMailweight()+ hyflightmanifest.getMailweight()); list3.add(mailbean3); // 无则直接加入list3 }else{ list3.add(hycosysfightservicemail); } } // 把list2剩下的加入list3 for(Iterator<Hyflightmanifest> iterator= list2.iterator(); iterator.hasNext();){ Hyflightmanifest hyflightmanifest = (Hyflightmanifest)iterator.next(); Hycosysfightservicemail mailbean = new Hycosysfightservicemail(); mailbean.setFlightnumber(hyflightmanifest.getFlightnumber()); mailbean.setInflag(hyflightmanifest.getInflag()); mailbean.setActualdate(hyflightmanifest.getSchdate()); mailbean.setMailnum(hyflightmanifest.getMailnum()); mailbean.setMailweight(hyflightmanifest.getMailweight()); list3.add(mailbean); } for (Iterator<Hycosysfightservicemail> iterator = list3.iterator(); iterator.hasNext();) { Hycosysfightservicemail hycosysfightservicemail = (Hycosysfightservicemail) iterator .next(); System.out.println("航班号:" + hycosysfightservicemail.getFlightnumber()); System.out.println("日期:" + hycosysfightservicemail.getActualdate()); System.out.println("进出港:" + hycosysfightservicemail.getInflag()); System.out.println("邮件数:" + hycosysfightservicemail.getMailnum()); System.out.println("邮件重量:" + hycosysfightservicemail.getMailweight()); System.out.println("----------------------------------------------------------"); } } }