java8实现字符串 “1.2.3.4.5 ” 输出List:1; 1.2; 1.2.3;1.2.3.4;1.2.3.4.5

「爱情、让人受尽委屈。」 2022-10-05 13:54 305阅读 0赞

要求:字符串 “1.2.3.4.5 ” 输出List: 1; 1.2; 1.2.3;1.2.3.4;1.2.3.4.5

eg:1; 1.2; 1.2.3;1.2.3.4;1.2.3.4.5 分别对应 中国;上海市;静安区;共和新路街道;北宝兴路

/**
* @Title: 查询当前部门上面所有部门树,顺序从上级到下级部门
* @Author: ken
* @Description:
* @Date: 2021/6/8 10:09
* @Param: [orgNodePath]
* @return java.util.List
**/
public List getAllOrganizationList(String orgNodePath) {
//若未传参,查询根目录
if (StringUtils.isEmpty(orgNodePath)) {
return Lists.newArrayList();
}
String orgNodePaths = orgNodePath + “.”;
List indexList = getIndexes(orgNodePaths,’.’);
List orgList = Lists.newArrayList();
indexList.stream().forEach(t-> {
//System.out.println(“indexList = “+ indexList);
//System.out.println(orgNodePaths.substring(0, (Integer) t));
orgList.add(orgNodePaths.substring(0, (Integer) t));
});
List orgIdLists = orgList.stream().map(Long::parseLong).collect(Collectors.toList());
BaseResponse>> orgResponse = agencySvcClient.orgIdsInfo(orgIdLists);
HashMap> orgMap = orgResponse.getResult();
List orgResList = JSONArray.parseArray(JSONArray.toJSONString(orgMap.get(“root”)), ExamOrgsResponse.class);
return orgResList.stream().map(ExamOrgsResponse::getName).collect(Collectors.toList());

}

/**
* @Title: 获取分隔符的索引
* @Author: ken
* @Description:
* @Date: 2021/6/8 10:10
* @Param: [s, c]
* @return java.util.List
**/
public List getIndexes(String s, char c){
return IntStream.range(0, s.length()).filter(index -> s.charAt(index) == c).boxed().collect(Collectors.toList());
}

△ 若果大家有更好地实现方法欢迎私信我,一起进步

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读