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 ...
随机推荐
- NSMutableArray遍历删除注意事项
for (int i = 0; i < [array count]; i++) { [array removeObjectAtIndex:i]; } 上面的遍历由于在remove操作之后ar ...
- netty入门代码学习
服务端代码: package com.lsp.netty; /** * @author lishupeng * @create 2017-05-27 下午 3:48 **/ import io.net ...
- flume高级组件及各种报错
1,one source two channel 创建conf文件,内容如下: #定义agent名, source.channel.sink的名称 access.sources = r1 access ...
- 【poj3693-重复次数最多的连续重复子串】后缀数组
题意:给定一个串,长度<=10^5,求它重复次数最多的连续重复子串(输出字典序最小的那个). 例如ccabcabc,答案就是abcabc 一开始没想清楚,结果调了好久. 原理: 按照L划分,因为 ...
- Linux emacs考场配置及对拍脚本
emacs配置(待补) (global-set-key [f9] 'compile) (global-set-key [f10] 'gud-gdb) (global-set-ket (kbd &quo ...
- (转载)常用的Python库
http://forum.ubuntu.com.cn/viewtopic.php?f=63&t=249573&p=2640959 Tkinter ---- Python默认的图形界面接 ...
- 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!
http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...
- mvn常用的构建命令
mvn -v 查看maven版本 mvn compile 编译 mvn test 测试 mvn package 打包 mvn clean 删除target mvn install 安装jar包到本地仓 ...
- 手机端 输入法出现 input框不在屏幕中间位置的问题
/** * 修改点击input输入框时的位置 */ $('.input-footer-none').on('focus',function(){ var _this=this; setTimeout( ...
- 查找(二分、hash、桶)
先上一个最简单的题 1230 元素查找 给出n个正整数,然后有m个询问,每个询问一个整数,询问该整数是否在n个正整数中出现过. 输入描述 Input Description 第一行两个整数 n 和m. ...