CollUtils.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.zksy.common.utils;
  2. import cn.hutool.core.collection.CollectionUtil;
  3. import cn.hutool.core.collection.IterUtil;
  4. import cn.hutool.core.util.NumberUtil;
  5. import java.util.*;
  6. import java.util.stream.Collectors;
  7. /**
  8. * 继承自 hutool 的集合工具类
  9. */
  10. public class CollUtils extends CollectionUtil {
  11. public static <T> List<T> emptyList() {
  12. return Collections.emptyList();
  13. }
  14. public static <T> Set<T> emptySet() {
  15. return Collections.emptySet();
  16. }
  17. public static <K,V> Map<K, V> emptyMap() {
  18. return Collections.emptyMap();
  19. }
  20. public static <T> Set<T> singletonSet(T t) {
  21. return Collections.singleton(t);
  22. }
  23. public static <T> List<T> singletonList(T t) {
  24. return Collections.singletonList(t);
  25. }
  26. public static List<Integer> convertToInteger(List<String> originList){
  27. return CollUtils.isNotEmpty(originList) ? originList.stream().map(NumberUtil::parseInt).collect(Collectors.toList()) : null;
  28. }
  29. public static List<Long> convertToLong(List<String> originLIst){
  30. return CollUtils.isNotEmpty(originLIst) ? originLIst.stream().map(NumberUtil::parseLong).collect(Collectors.toList()) : null;
  31. }
  32. /**
  33. * 以 conjunction 为分隔符将集合转换为字符串 如果集合元素为数组、Iterable或Iterator,则递归组合其为字符串
  34. * @param collection 集合
  35. * @param conjunction 分隔符
  36. * @param <T> 集合元素类型
  37. * @return 连接后的字符串
  38. * See Also: IterUtil.join(Iterator, CharSequence)
  39. */
  40. public static <T> String join(Collection<T> collection, CharSequence conjunction) {
  41. if (null == collection || collection.isEmpty()) {
  42. return null;
  43. }
  44. return IterUtil.join(collection.iterator(), conjunction);
  45. }
  46. public static <T> String joinIgnoreNull(Collection<T> collection, CharSequence conjunction) {
  47. if (null == collection || collection.isEmpty()) {
  48. return null;
  49. }
  50. StringBuilder sb = new StringBuilder();
  51. for (T t : collection) {
  52. if(t == null) continue;
  53. sb.append(t).append(",");
  54. }
  55. if(sb.length() <= 0){
  56. return null;
  57. }
  58. return sb.deleteCharAt(sb.length() - 1).toString();
  59. }
  60. }