`
noknower
  • 浏览: 120482 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

List求和

    博客分类:
  • JAVA
阅读更多
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("----------------------------------------------------------");
		}
		
		

	}

}

分享到:
评论

相关推荐

    aviator 实现 List 的求和、排序、最大、最小值

    对于 List 的求和,你可以定义一个表达式,比如 `sum(list)`,其中 `list` 是你要进行求和操作的 List 对象。这个表达式会被 Aviator 解析并执行,返回 List 中所有元素的和。 接着,排序操作在 Aviator 中可以使用...

    在python中实现对list求和及求积

    如下所示: # the basic way s = 0 for x in range(10): s += x ...以上这篇在python中实现对list求和及求积就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

    C++ 使用模板实现一个List的实例

    这里,我们将详细讨论如何使用模板实现一个基本的List数据结构。List是链表的一种常见实现,通常用于存储和操作动态集合。在这个实例中,我们将使用模板类来创建一个通用的List,它能够容纳任何类型的数据,如`Stu`...

    struts2标签之列求和

    ### Struts2 标签之列求和 在Struts2框架中,处理表单、迭代数据等功能时,经常需要用到各种内置标签。其中,`&lt;s:iterator&gt;` 标签常用于循环显示列表数据,而结合`&lt;s:set&gt;`标签可以实现对列表中的数值进行求和操作...

    Python之list对应元素求和的方法

    通过定义的list_add函数进行两两求和,可以得到最终的求和列表。或者,直接利用numpy的数组加法操作,将三个数组相加得到结果。再或者,使用sum()函数并通过axis参数指定纵向求和,这样也可以得到对应的求和列表。 ...

    CAD自动求和插件

    在这种情况下,"j.LSP"可能是一个LISP(List Processing)程序,这是AutoCAD支持的一种编程语言,用于编写扩展功能和自动化任务。LISP程序可以直接在CAD环境中运行,无需离开主界面,从而无缝集成到用户的工作流程中...

    易语言超级列表框多选求和

    本话题聚焦于易语言中的一个特定功能:如何实现超级列表框(Super List Box)的多选求和操作。超级列表框是用户界面中常见的一种控件,它允许用户在多个选项中进行选择,并可以展示多列数据。 易语言提供了丰富的...

    京东面试过程总结,面试详解

    10. 算法问题:算法问题包括编程珠玑的一道题、List求和问题等,面试官可能会问到这些问题的解决方案和优化方法。 11. MySQL索引优化:MySQL索引优化问题包括索引创建、区分度、选择性、列基数等,面试官可能会问到...

    S7-200SMART任意连续字节求和(源程序+库文件+使用说明).zip

    其编程语言主要包括Ladder Diagram (LD)、Structured Text (ST)、Function Block Diagram (FBD) 和 Instruction List (IL)。 2. **任意连续字节求和**:在PLC编程中,有时我们需要计算存储区中连续的字节数据之和,...

    java8实现list集合中按照某一个值相加求和,平均值等操作代码

    本文将深入探讨如何使用Java 8的新特性,如流(Stream)和函数式编程,来实现按特定值相加求和、计算平均值等操作。 首先,让我们看一个简单的例子,假设我们有一个User类,其中包含一个表示年龄的整数字段`age`: `...

    C#List集合分组winform把List分组

    在实际项目中,我们还可能需要处理分组后的数据,例如计算每个组的平均值、求和或执行其他聚合操作。这可以通过使用Sum、Average、Count等Linq方法来完成。同时,为了提高性能,还可以考虑使用IQueryable接口和...

    【CAD插件】面积求和_CAD插件_cad_lisp_VBa_

    2. LISP:LISP(List Processor)是一种古老但强大的编程语言,尤其在CAD环境中广泛应用。在AutoCAD中,LISP被用来编写自定义函数和脚本,实现图形处理和自动化任务。这里的LISP部分可能包含了用于识别、分割和计算...

    java8 利用reduce实现将列表中的多个元素的属性求和并返回操作

    我们可以使用 Java8 中的函数式编程,获取 list 的流,再利用 reduce 遍历递减方式将同属性(本金、手续费)求和赋予给一个新的 list 中同类型的对象实例,即得到我们需要的结果。 例如,我们可以使用以下代码来...

    python 列表递归求和、计数、求最大元素的实例

    利用python的递归来执行求和、计数、求最大元素的方法简直溜到爆,这里粘贴一下代码: 列表的递归求和: def sum(list): if list==[]: return 0 return list[0]+sum(list[1:]) 测试: print sum([3,4,2,3]) ...

    单变量指数多项式求和

    cout &lt;&lt; "The list was linked successfully!" ; } void Display(Polynomial *&L) { Polynomial *p; p = L-&gt;next; cout (x)="; while (p != NULL) { cout &lt;&lt; p-&gt;data.ceof ^" &lt;&lt; p-&gt;data.exp; p = p-&gt;next; ...

    NP难问题(整数求和)

    在C#中,我们可以利用`List&lt;int&gt;`等数据结构来存储整数,然后利用动态规划或回溯算法来搜索满足条件的子集。但要注意,这类问题的解法往往有指数级的时间复杂度,因此在处理大规模数据时需要权衡计算效率与解决方案...

    cad 字符串里自动提取数字求和

    在CAD环境中,LISP(List Processor,列表处理器)是一种常见的编程语言,用于扩展和自动化CAD系统的功能。提到的"nbs求和"可能是指一种特定的LISP函数或者程序,用于处理非空白字符(Non-Blank Space, NBS)的求和...

    java8 stream自定义分组求和并排序的实现

    在示例代码中,我们首先创建了一个 `List` 集合,用于存储多个 `GroupDetailDTO` 对象。然后,我们使用 Java8 Stream 的 `stream` 方法将集合转换为流式数据。接着,我们使用 `collect` 方法对流式数据进行分组求和...

Global site tag (gtag.js) - Google Analytics