重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如何在JAVA中自定义Collections集合?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
10年的岐山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整岐山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“岐山网站设计”,“岐山网站推广”以来,每个客户项目都认真落实执行。
1、封装的自定义集合工具类:CollectionsCustom
package com.test.util; import java.util.Collection; import org.apache.commons.collections.CollectionUtils; /** * 自定义集合处理类 */ public class CollectionsCustom { /** * 将传入的collection内对象进行计算后得出结果 * @param original 计算前collection * @param reduceFunction 计算方式 * @param initValue 计算结果初始值 * @param collection对象类型 * @param
2、测试类TestCollections
package com.test; import java.math.BigDecimal; import java.util.Arrays; import java.util.List; import com.test.util.CollectionsCustom; public class TestCollection { private static Listlist = Arrays.asList( new User("张三", BigDecimal.valueOf(35.6), 18), new User("李四", BigDecimal.valueOf(85), 30), new User("赵六", BigDecimal.valueOf(66.55), 25)); public static void main(String[] args) { //统计集合内分数之和 testTotalScore(); //统计集合内年龄之和 testTotalAge(); } private static void testTotalScore(){ //统计集合内分数之和 BigDecimal totalScore = CollectionsCustom.reduce(list, BigDecimal.ZERO, new CollectionsCustom.ReduceFunction () { @Override public BigDecimal apply(User input, BigDecimal lastResult) { // TODO Auto-generated method stub return lastResult.add(input.getScore()); } }); System.out.println("总共分数:" + totalScore); } private static void testTotalAge(){ //统计集合内年龄之和 Integer totalAge = CollectionsCustom.reduce(list, 0, new CollectionsCustom.ReduceFunction () { @Override public Integer apply(User input, Integer lastResult) { // TODO Auto-generated method stub return lastResult += input.getAge(); } }); System.out.println("总共年龄:" + totalAge); } static class User{ private String userName; //姓名 private BigDecimal score;//分数 private Integer age; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public BigDecimal getScore() { return score; } public void setScore(BigDecimal score) { this.score = score; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public User(String userName, BigDecimal score, Integer age) { super(); this.userName = userName; this.score = score; this.age = age; } public User() { // TODO Auto-generated constructor stub } } }
3、测试输出结果:
总共分数:187.15
总共年龄:73
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。