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

Iterator按照指定格式转化成List

 
阅读更多

需求场景:

       已经知道了Iterator<T>,然后打算通过Iterator进行简单处理后变成List<?>,这种需求还是比较常见的,MR中最为常见。

方案:

第一种方式:

直接遍历迭代获取到T然后经过业务逻辑处理之后封装成?然后放入指定的List中去

第二种方式:

采用org.apache.commons.collections.CollectionUtils.collect进行转换,需要自己实现Transformer,也提供了一些常见的实现。

实现:

依赖jar:

commons-collections 2.6
commons-lang 3.2.1

 构造数据:

List<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
	list.add(RandomStringUtils.random(10, "abc"));
}

 转换操作:

CollectionUtils.collect(list.iterator(), TransformerUtils.nopTransformer())

 TransformerUtils提供的Transformer实现:

org.apache.commons.collections.functors.ChainedTransformer;
org.apache.commons.collections.functors.CloneTransformer;
org.apache.commons.collections.functors.ClosureTransformer;
org.apache.commons.collections.functors.ConstantTransformer;
org.apache.commons.collections.functors.EqualPredicate;
org.apache.commons.collections.functors.ExceptionTransformer;
org.apache.commons.collections.functors.FactoryTransformer;
org.apache.commons.collections.functors.InstantiateTransformer;
org.apache.commons.collections.functors.InvokerTransformer;
org.apache.commons.collections.functors.MapTransformer;
org.apache.commons.collections.functors.NOPTransformer;
org.apache.commons.collections.functors.PredicateTransformer;
org.apache.commons.collections.functors.StringValueTransformer;
org.apache.commons.collections.functors.SwitchTransformer;

 

0
6
分享到:
评论

相关推荐

    Jsoup学习——Saz2Csv解析器

    这个源码主要是对我的Jsoup笔记进行整合,初步实现saz格式文件到csv文件转换的基本...6、Java类集:List,ArrayList,Iterator 7、Java中正则表达式的使用 8、Java工程如何打包成双击即可以执行的jar文件 、bat文件

    Java范例开发大全 (源程序)

     实例41 数字格式转换异常(NumberFornatException) 59  实例42 字符串索引越界异常(StringIndexOutBounds) 60  实例43 操作错误(UnsupportedOperationException) 60  4.2 运行时异常 61  实例44 找不...

    java范例开发大全(pdf&源码)

    实例41 数字格式转换异常(NumberFornatException) 59 实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生...

    java范例开发大全源代码

     实例41 数字格式转换异常(NumberFornatException) 59  实例42 字符串索引越界异常(StringIndexOutBounds) 60  实例43 操作错误(UnsupportedOperationException) 60  4.2 运行时异常 61  实例44 ...

    java范例开发大全

    实例41 数字格式转换异常(NumberFornatException) 59 实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生...

    Java范例开发大全(全书源程序)

    实例41 数字格式转换异常(NumberFornatException) 59 实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类...

    [原创]自己工作中常用的模板库,简化你的工作

    提供模板化的指针操作符,如果不支持用户指定指针类型,则转换结果为NULL,从而保证正确性。 ☆ package any object(CAnyObject), it operator function is template-based. if it doesn't support conversion, it ...

    疯狂JAVA讲义

    这样不可以扩展成三维数组吗?甚至扩展到更多维的数组? 101 4.6.5 操作数组的工具类 102 4.6.6 数组的应用举例 103 4.7 本章小结 106 本章练习 106 第5章 面向对象(上) 107 5.1 类和对象 108 5.1.1 定义类...

    深入浅出Struts2(附源码)

    6.12 iterator标签 107 6.13 append标签 110 6.14 merge标签 111 6.15 generator标签 113 6.16 sort标签 116 6.17 subset标签 118 6.18 小结 119 第7章类型转换 120 7.1 类型转换概述 120 7.2 类型转换错误...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    以2007年8月15日为例,美国人会把这个日期写成8/15/2007,澳大利亚人则会把它写成15/8/2007。本地化(10calization)通常简写为110n,这是因为这个单词的第一个字母是l,最后一个字母是n,并且l和n之间总共有10个...

    突破程序员基本功的16课.part2

    3.4 Iterator迭代器 迭代时删除指定元素 3.5 小结 第4课 Java的内存回收 4.1 Java引用的种类 4.1.1 对象在内存中状态 4.1.2 强引用 4.1.3 软引用 4.1.4 弱引用 4.1.5 虚引用 4.2 Java的内存泄漏 4.3 垃圾...

    超级有影响力霸气的Java面试题大全文档

    面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性:  多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

    9.1.5 访问对象的iterator 273 9.1.6 排序收集的对象 276 9.1.7 使用泛型 280 9.2 键值对应的map 284 9.2.1 常用map操作类 284 9.2.2 访问map键值 288 9.3 重点复习 291 9.4 课后练习 292 chapter10...

    JAVA面试题最全集

    如何格式化日期 5.数组和集合 6.文件和目录(I/O)操作 如何列出某个目录下的所有文件 如何列出某个目录下的所有子目录 判断一个文件或目录是否存在 如何读写文件 7.Java多态的实现(继承、重载、覆盖) 8....

    java 面试题 总结

    面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多...

    Java开发技术大全 电子版

    13.6.2时间格式转换符详解415 13.6.3格式说明符语法图417 13.7正则表达式417 13.7.1正则表达式的作用418 13.7.2正则表达式的基本规则418 13.7.3正则表达式中的一些高级规则421 13.7.4正则表达式中的其他通用...

Global site tag (gtag.js) - Google Analytics