Java下List<Long>转List<String>或者List<Long>转List<Integer>
说明:很遗憾,没有快速方法,只能遍历然后循环增加进去。
方法:
- for(String str : list) {
- int i = Integer.paseInt(str);
- intList.add(i);
- }
如果借助第三方类库可以这样实现:
- import java.lang.reflect.Method;
- import java.util.List;
- public class RunTime {
- public static long invokeStaticMethod(String clsName, String methodName,
- Object[] args) throws Exception {
- long start = System.nanoTime();
- try {
- Class c = Class.forName(clsName);
- Class[] argsClass = new Class[] {List.class};
- Method method = c.getMethod(methodName, argsClass);
- method.invoke(c, args);
- } catch (Exception e) {
- e.printStackTrace();
- }
- long end = System.nanoTime();
- return end - start;
- }
- }
- import java.lang.reflect.Method;
- import java.util.ArrayList;
- import java.util.List;
- import org.apache.commons.collections.CollectionUtils;
- import org.apache.commons.collections.Transformer;
- public class Test {
- /**
- * @param args
- */
- public static List<Integer> StringToIntegerLst(List<String> inList){
- List<Integer> iList =new ArrayList<Integer>(inList.size());
- try{
- for(int i=0,j=inList.size();i<j;i++){
- iList.add(Integer.parseInt(inList.get(i)));
- }
- }catch(Exception e){
- }
- return iList;
- }
- public static List<Integer> CollStringToIntegerLst(List<String> inList){
- List<Integer> iList =new ArrayList<Integer>(inList.size());
- CollectionUtils.collect(inList,
- new Transformer(){
- public java.lang.Object transform(java.lang.Object input){
- return new Integer((String)input);
- }
- } ,iList );
- return iList;
- }
- public static void main(String[] args) {
- List<String> sList = new ArrayList<String>();
- for (int i=0;i<1000;i++) {
- sList.add(String.valueOf(i));
- }
- Object[] param=new Object[]{sList};
- try {
- long runTime=RunTime.invokeStaticMethod("com.jsoft.common.Test", "StringToIntegerLst", param);
- System.out.println("采用顺序转化方法执行时间"+runTime);
- long runTimeByColl=RunTime.invokeStaticMethod("com.jsoft.common.Test", "CollStringToIntegerLst", param);
- System.out.println("采用org.apache.commons.collections.CollectionUtils执行时间"+runTimeByColl);
- System.out.println("微秒相差(runTimeByColl-runTime)=" +String.valueOf(runTimeByColl-runTime));
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
参考:
http://bbs.csdn.net/topics/310077387
Java下List<Long>转List<String>或者List<Long>转List<Integer>的更多相关文章
- Java下好用的开源库推荐
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文想介绍下自己在Java下做开发使用到的一些开源的优秀编程库,会不定 ...
- Java下利用Jackson进行JSON解析和序列化
Java下利用Jackson进行JSON解析和序列化 Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行 ...
- Java 下 SSL 通信原理及实例
有关SSL的原理和介绍在网上已经有不少,对于Java下使用keytool生成证书,配置SSL通信的教程也非常多.但如果我们不能够亲自动手做一个SSL Sever和SSL Client,可能就永远也不能 ...
- Java 下实现锁无关数据结构--转载
介绍 通常在一个多线程环境下,我们需要共享某些数据,但为了避免竞争条件引致数据出现不一致的情况,某些代码段需要变成原子操作去执行.这时,我们便需要利用各种同步机制如互斥(Mutex)去为这些代码段加锁 ...
- Java编程的逻辑 (29) - 剖析String
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
- Java下Elasticsearh应用指南
简介 本文针对在Java下操作elasticsearch给出应用示例,主要涉及创建连接,构建索引以及检索数据3个部分. 环境 1)elasticsearch2.4.4, 2)jdk1.8. 客户端连接 ...
- 关于Objective-c和Java下DES加密保持一致的方式
转载自:http://www.cnblogs.com/janken/archive/2012/04/05/2432930.html 最近做了一个移动项目,是有服务器和客户端类型的项目,客户端是要登录才 ...
- objective-c和java下解析对象类型和数组类型JSON字符串
首先讲objective-c如何实现: 这里需要用到2个插件,一个是JSONKit,另一个是Jastor,一共包含6个文件,3个.h头文件和3个.m实现文件.在ARC的工程中如何导入不支持ARC的第三 ...
- 【转载】Java下利用Jackson进行JSON解析和序列化
参考资料: https://blog.csdn.net/sdut406/article/details/85647982 Java下常见的Json类库有Gson.JSON-lib和Jackson等,J ...
随机推荐
- Spring学习--Bean 之间的关系
Bean 之间的关系:继承.依赖. Bean 继承: Spring 允许继承 bean 的配置 , 被继承的 bean 称为父 bean , 继承这个父 bean 的 bean 称为子 bean. 子 ...
- [01]url请求到渲染
http状态码有哪些?分别表示什么意思?状态码告知从服务器返回的请求结果.2XX表明请求被正常处理了.200OK.204No Content(服务器接收的请求已经处理成功,但在返回的响应报文中不包含实 ...
- set .net principle
var ticket = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddMinutes(FormsA ...
- POJ1019 Number Sequence
Number Sequence Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 36256 Accepted: 10461 ...
- camera驱动框架分析(下)
sensor的驱动 v4l2_i2c_new_subdev_board先用client = i2c_new_device(adapter, info);创建info对应的i2c_client对象(代表 ...
- ios iphone ipad上iframe的宽度会扩大的解决办法
这个问题,我从网上查了下,好像是属于ios的bug,android,windows都没有问题. 解决办法,就是在iframe加载完成后,设置 iframe里面body的宽度为多少PX. $(" ...
- Image.FromStream与Image.FromFile使用区别
将一个图片加载并显示在picturebox上,一般情况下得到预期的结果,然而对于同一个filepath, 若连续两次调用下面的语句系统将会报错(如用户多次选择加载同一张图片使用Image.FromFi ...
- java两种实现二分查找方式
二分查找法适用于 升序排列的数组,如果你所要操作的数组不是升序排序的,那么请用排序算法,排序一下. 说明:使用二分查找法相比顺序查找 节约了时间的开销,但是增加了空间使用.因为需要动态记录 起始索引 ...
- wxBot微信机器人框架(转)
原文:http://blog.csdn.net/tobacco5648/article/details/50722321 wxBot 是Python包装Web微信实现的微信机器人框架.可以很容易地实现 ...
- cat命令和tac命令
cat命令 连接文件并打印到标准输出设备上,cat经常用来显示文件的内容. 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容.因此,一般用more等命令分屏显示. 为了控制 ...