目 录CONTENT

文章目录

Java代码整理(待补充)

筱晶哥哥
2023-05-27 / 0 评论 / 0 点赞 / 31 阅读 / 6523 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-03-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

不定时更新Java代码。

StreamUtils

package com.itjing.utils;

import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.stream.Collectors;

/**
 * List分页工具类
 *
 * @author lijing
 * @date 2023-05-27
 */
@Component
public class StreamUtils<T> {
    
    /**
     * stream内存分页公用方法(返回传入的List)
     *
     * @param t        T
     * @param pageNum  当前页
     * @param pageSize 每页总条数
     * @return List<T>
     **/
    public List<T> pageSkipLimit(List<T> t, Integer pageNum, Integer pageSize) {
        return t.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
    }
    
    /**
     * 获取分页后的pageInfo(设置了vos,总条数)
     *
     * @param finalVos 需要分页的vos
     * @param pageNum  当前页
     * @param pageSize 每页条数
     * @see com.github.pagehelper.PageInfo
     */
    public PageInfo<T> getPageInfo(List<T> finalVos, Integer pageNum, Integer pageSize) {
        PageInfo<T> pageInfo = new PageInfo<>();
        pageInfo.setTotal(finalVos.size());
        // 手动分页:finalVos
        List<T> pageVos = this.pageSkipLimit(finalVos, pageNum, pageSize);
        pageInfo.setList(pageVos);
        return pageInfo;
    }
    
}

逗号分隔的字符串和List互转

将逗号分隔的字符串转换为List

// 字符型
String str = "a,b,c";
List<String> strList = Arrays.asList(str.split(","));
System.out.println(strList); // [a, b, c]

// 数字型
String ids = "1,2,3,4,5,6";
List<Long> idList = Arrays.stream(ids.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
System.out.println(Arrays.toString(idList.toArray())); // [1, 2, 3, 4, 5, 6]

将List转换为逗号分隔的字符串

List<Integer> numList = Lists.newArrayList(1, 2, 3, 4, 5, 6);
String numStr = Joiner.on(",").join(numList);
System.out.println(numStr); // 1,2,3,4,5,6

// 1、利用Guava的Joiner
List<String> list = Lists.newArrayList("a", "b", "c");
String str1 = Joiner.on(",").join(list);
System.out.println(str1); // a,b,c

// 2、利用Apache Commons的StringUtils
String str2 = org.apache.commons.lang3.StringUtils.join(list.toArray(), ",");
System.out.println(str2); // a,b,c

// 3、java8
String str3 = list.stream().collect(Collectors.joining(","));
System.out.println(str3); // a,b,c

// 4、原生
String str4 = String.join(",", list);
System.out.println(str4); // a,b,c

将List对象转换为逗号分隔的字符串

String names = this.list.stream().map(User::getName).collect(Collectors.joining(",")); // a,b,c

StringJoiner sj = new StringJoiner(",", "[", "]");
this.list.forEach(item -> sj.add(item.getName()));
System.out.println(sj); // [a,b,c]
0

评论区