Java集合三方库_盘点些Java强大第三方库(字符串操作)

1.字符串与集合间的转化

引用第三方库 Apache Commons Lang jre连接

值得一提的自JDK1.8以后字符串集合转为字符串可已使用String类下的join()方法,但别的数据类型还是要依靠第三方库--对比JDK和第三库代码如下

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

//导用第三库包

import org.apache.commons.lang3.StringUtils;

public class String2List {

public static void main(String[] args) {

ArrayList list = new ArrayList();

list.add("KeNan");

list.add("HuiYuan");

list.add("MaoLiLan");

list.add("AnShiTou");

//JDK1.8

String str = String.join(",", list);//list集合中元素按顺序拼接","连接

System.out.println(str);

//apache commons lang

String str2 = StringUtils.join(list, ",");

System.out.println(str2);

///从字符串变回ArrayList

List list2 = Arrays.asList(str.split(","));

for (String s : list2) {

System.out.println(s);

}

//apache commons long 有更强大的功能,支持多种类型数据

ArrayList list3 = new ArrayList();

list3.add(1);list3.add(2);list3.add(3);

String str3 = StringUtils.join(list3, "->");

System.out.println(str3);

}

}

2.驼峰命名规范字符串

引用第三方库Gogle Guava jre连接

简易实现将字符串按驼峰命名规则转换,还可以在构造链表时传参初始化链表

import java.util.ArrayList;

import java.util.List;

import com.google.common.base.CaseFormat;

import com.google.common.base.Splitter;

import com.google.common.collect.Lists;

public class GuavaUtil {

/**

* 采用Gogle Guava进行字符串处理(第三方库)

* @param args

*/

public static void main(String[] args) {

//jdk

List list = new ArrayList();

list.add(123);

list.add(456);

System.out.println(list);

//Guava - 构造列表时可以初始化

List guava_list = Lists.newArrayList(123, 456);

System.out.println(guava_list);

//拆分字符串可忽略空字符串

Iterable splist = Splitter.on(',')

.trimResults()//拆分结果,自动除掉空串

.omitEmptyStrings()//除掉空白字符

.split("123,321,, abc");

System.out.println(splist);

//驼峰命名转换

String s1 = "CONSTANT_NAME";//转为constantName

String s2 = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, s1);

System.out.println(s1 + " " + s2);

}

}

3.字符串(文件)转为输入流的操作--OnlineJudge的实现原理

引用第三方库Apache Commons IO jre连接

从字符串到输入流(输入流可以定义为Scanner,这是OnlineJudge的实现原理)

import java.io.IOException;

import java.io.InputStream;

import java.util.List;

import java.util.Scanner;

import org.apache.commons.io.Charsets;

import org.apache.commons.io.IOUtils;

import org.apache.commons.lang3.StringUtils;

import com.google.common.collect.Lists;

public class String2InputStream {

public static void main(String[] args) throws IOException {

List list = Lists.newArrayList(1, 2, 3 ,4, 5);

String str = StringUtils.join(list, ",");

//System.out.println(str);

//将字符串作为默认的输入流

InputStream in = IOUtils.toInputStream(str,

Charsets.toCharset("UTF-8"));

//重置系统的输入流,也就是说Scanner 不在从控制台中读数据

//而是读取设定的输入流中的数据

System.setIn(in);

//模拟键盘输入,也是OJ平台测试用例输入的原理

//也可以换成文件流

Scanner sc = new Scanner(System.in);

sc.useDelimiter(",");

while(sc.hasNext()) {

System.out.println(sc.next());

}

sc.close();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值