首先,给大家推荐一个好的地方:http://ifeve.com/stream/ 可以好好学一下
接下来,今天要删除数组中的某些元素,想到了之前用过的这个JDK8的Stream
1.Array转化为Stream并进行筛选
【有个坑:数组转化为Stream有两种方式
1.Stream.of(数组)
2.Arrays.stream(数组)
区别:两种都支持引用数据类型,但是如果是基本数据类型的话,请选择第二种,所以妥善期间使用第二种比较合适。
】
代码如下:
@org.junit.Test public void test() throws IOException{ String [] str = "2.1.1&2.1.2&2.1.5&2.1.6&3.1.1&3.2.2&3.3.3&4.1.1&4.1.2&4.1.4&5.1.2&7.1.2&7.2.1&7.3.1.1&7.3.3.1&7.3.4.3&7.3.5.2&7.3.6.2&7.3.6.3".split("&"); Stream<String> stream = Arrays.stream(str); Object[] o1 = stream.filter(s -> s.contains("2.1.")).toArray(); for (int i = 0; i < o1.length; i++) { System.out.println(str[i].toString()); } }
2.List集合转化为Stream
【集合.stream()即可】
时间: 2024-10-06 00:04:21