Java中 List移除相应元素的超简洁写法
来源:互联网 发布:浪潮云会计软件 编辑:程序博客网 时间:2024/06/02 22:28
最近遇到了一个需求(好吧以前也遇到过),就是将一个List中的部分元素去除,如把string中带数字的元素去除,以前是各种遍历各种不爽,今天发现用Java8中的lambda写,只需三行。好了上代码:
List<String> list = new ArrayList<String>(){ { // 为list添加数据 addAll(Arrays.asList("wangzhen456liupei123".split(""))); add("1521"); // 纯数字数据 add("wanghzen123") // 数字+字符数据 add("wangzhen"); // 纯字符串 }};System.out.println("初始数据:" + list);Pattern pattern = Pattern.compile("\\d");//匹配数字Predicate<String> filter = s -> pattern.matcher(s).find();list.removeIf(filter);//移除System.out.println(list);
输出如下:
初始数据:[w, a, n, g, z, h, e, n, 4, 5, 6, l, i, u, p, e, i, 1, 2, 3, 1521, wangzhen]
[w, a, n, g, z, h, e, n, l, i, u, p, e, i, wangzhen]
其实有机智的朋友可能已经发现了,不要说三行了,一行都可以:
list.removeIf(s -> Pattern.compile("\\d").matcher(s).find());
虽说如果你想这样写也没人能拦着你(同时你也要确定三个月之后依然能看懂)。但是从代码的可读性和可维护性角度来讲,倒是不如前面三行的那个写法。
总结:越精简的代码就越应该有注释,不然哪天手一抽就Ctrl+/了 XD
0 0
- Java中 List移除相应元素的超简洁写法
- Java中 复制文件并命名的超简洁写法
- Java中移除list元素小结
- Java List 移除元素
- JAVA List 移除元素
- JAVA List 移除元素
- JAVA List 移除元素
- JAVA中循环删除list中元素(移除list两时间范围外的元素)
- 关于移除List中元素的相关例子
- 移除list中重复元素
- java list移除null元素
- java list移除null元素
- java list移除null元素
- List移除元素
- 移除List<T>的元素
- 从List中移除指定 List 中包含的其所有元素(可选操作)。
- Java中如何移除List中前/后几个元素?
- List循环移除元素
- velocity学习笔记
- iOS 几种传值方式(属性,代理,block,通知,本地存储,单例类)附Demo
- NETGEAR WNDR 4300路由器刷OpenWrt固件以及Shadowsocks+ChinaDNS配置教程总结
- Android的线程使用来更新UI----Thread、Handler、Looper、TimerTask等
- OEM (Oracle 企业管理器)登录提示您的用户名/或口令无效的解决办法
- Java中 List移除相应元素的超简洁写法
- PHP使用smtp发送邮件
- kindeditor 上传控件
- 也谈OpenStack中的虚拟机HA
- asp.net后台将数据显示到页面div中
- thinkphp 3.2 整合PHPEXCEL
- Android--Activity生命周期
- Integer与int的比较
- memcached 的简单使用