Java 集合快速转换

StringUtils用的Spring-Core内的工具类

1.集合转换到逗号的字符串
StringUtils.collectionToCommaDelimitedString(Collection<?> coll)

2.集合转换指定分隔符的字符串
StringUtils.collectionToDelimitedString(Collection<?> coll, String delim)

3.array数组快速转换为list集合
Arrays.asList(new String[]{"123", "456"});

4.list集合快速转换为set集合 Lists.newArrayList()需要用google的guava工具包 等同于 new ArrayList()

Set<Object> sourcesSet = new LinkedHashSet<Object>();
sources.addAll(Lists.newArrayList());
//sources.addAll(Arrays.asList(new String[]{"123", "456"}));

//或者

Set<Object> sourcesSet = new LinkedHashSet<Object>(Lists.newArrayList());

4.1 set集合转换为list集合 **** 主要用于list去重再转list操作

List<Object> list1 = new LinkedList<>(new LinkedHashSet<>(list));

5.list集合快速转换为数组
list.toArray(new String[0]); //限制List的泛型必须是单一对象

6.带逗号的字符串转换为数组
String[] idsArray = ids.split(",");

7.数组转换为自定义符号的字符串
StringUtils.arrayToDelimitedString(Object[] arr, String delim);

8.数组转换为带逗号的字符串
StringUtils.arrayToDelimitedString(Object[] arr);

9.数组转换为带符号的字符串(Guava) delim为自定义符号

Joiner.on(delim).join(new String[]{"a", "b", "c"}); 

10.String不定参数转换为带符号的字符串(Guava) delim为自定义符号

Joiner.on(delim).join("a", "b", "c");  

11.Iterable集合转换为带符号的字符串(Guava) delim为自定义符号

Joiner.on(delim).join(Arrays.asList(numberArray).iterator());

11.带符号的字符串转换为Iterable集合(Guava) delim为自定义符号

Splitter.on(delim).split(ids);

12.带符号的字符串转换为array数组(common-lang3) StringUtils为lang3包内工具类 非Spring工具类

StringUtils.split(numberList, delim);

13.不定参数转换为list集合

Arrays.asList("a", "b", "c");

14.字符串转换逗号分割的数组

StringUtils.commaDelimitedListToStringArray(String str);

15.字符串转换指定符号分割的数组

StringUtils.commaDelimitedListToStringArray(String str, String delim);

16.字符串转换Set集合

StringUtils.commaDelimitedListToSet(String str);

17.集合转换指定字符串

StringUtils.collectionToDelimitedString(Collection collection, String delim);

18.集合转换指定字符串,可拼接前缀和后缀

StringUtils.collectionToDelimitedString(Collection collection, String delim, String prefix, String suffix);

 

跳过null值

Joiner.on(separator).skipNulls().join(parts);

替换null值

Joiner.on(separator).useForNull(nullText).join(parts);

去掉length=0的值

Splitter.on(separator).omitEmptyStrings().split(sequence);

 

posted @ 2018-04-25 17:15  bobwuming  阅读(618)  评论(0编辑  收藏  举报