开发中简化代码之Java
2018
1. 去除数组中的空值和null值,并返回新的数组
import org.apache.commons.lang3.StringUtils; String[] users = {"", "jason", "bill", null, "rose"}; String[] tempUsers = Arrays.stream(users) .filter(StringUtils::isNotBlank) .toArray(String[]::new);
2. 拼接字符串,若字符串不为空则以空格隔开,为空则忽略(比如人的名称:firstName + middleName + lastName)
String firstName = "Jason" String middleName = ""; String lastName = "Tang"; String userName = Joiner.on(" ").skipNulls().join(firstName.trim(), middleName.trim(), lastName.trim());
3. 判断集合中没有符合条件的对象(例:判断用户没有该角色)
List<Integer> integers = Arrays.asList(1, 2, 3); for (Integer roleNum : roleNums) { if (userRoleList.stream().noneMatch(ur -> Objects.equals(roleNum, ur.getRoleNum()))) { System.out.print("roleNum = " + roleNum + "不存在") } } // anyMatch : 任意一个元素符合,返回true // allMatch : 所有元素符合,才返回true // noneMatch : 所有元素都不符合,才返回true
4. 将List集合转化为数组,将数组转化为字符串
List<Integer> itgs = new ArrayList<>(); itgs.add(1); itgs.add(2); itgs.add(3); // 将集合转化为对应的对象数组 Integer[] itgArr = itgs.toArray(new Integer[0]); // 将数组转化为字符串 String itgStr = Arrays.toString(itgArr); System.out.println(itgStr); // [1, 2, 3]
2019-03-04
5. 将Map按key进行排序和降序(value排序同理)
Map<String, Integer> map = new HashMap<>(); map.put("2018-10-12", 22); map.put("2018-11-12", 22); map.put("2018-09-12", 22); map.put("2018-12-12", 22); map.put("2018-07-12", 123); map.put("2019-10-12", 55); map.put("2019-07-12", 55); // 降序 LinkedHashMap<String, Integer> ascLinkedHashMap = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByKey())) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> newValue, LinkedHashMap::new)); // 升序 LinkedHashMap<String, Integer> descLinkedHashMap = map.entrySet().stream() .sorted(Map.Entry.comparingByKey()) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> newValue, LinkedHashMap::new)); System.out.println(ascLinkedHashMap); System.out.println(descLinkedHashMap);
持续更新…
原文地址:https://www.jianshu.com/p/1dfd78ba2233
相关推荐
-
关于递归的一些经验 Java基础
2019-6-19
-
Latex 公式在线可视化编辑器 Java基础
2019-5-15
-
tomcat 启动速度慢背后的真相 Java基础
2019-5-16
-
开箱即用(out-of-box)的Redis序列号生成器,不用再写任何代码,你值得拥有 Java基础
2019-5-9
-
Flutter工程解析篇 + 工程代码部分解析记录 Java基础
2020-6-16
-
Restful API开发利器——RestPack项目教程 Java基础
2020-5-30
-
用 ActFramework 写一个网页聊天室是怎样的体验 Java基础
2020-5-30
-
【面试】我是如何面试别人List相关知识的,深度有点长文 Java基础
2019-5-9
-
我所知道的数据结构之队列 Java基础
2020-6-15
-
分布式事务一致性实现的方式总结 Java基础
2019-8-20