优化这段代码 list=map.get(s1[0]); list2=map.get(s1[0]); for(int j=1;j<s1.length;j++) { list1=map.get(s1[j]); for(Integer n:list2) { if(!list1.contains(n)) list.remove(n); } }
时间: 2024-04-09 08:27:52 浏览: 38
Java代码优化1
这段代码存在一些优化的空间。首先,`list`和`list2`的赋值语句重复了,可以将其合并为一行。其次,可以使用增强型循环(foreach)来遍历`list2`,而不是使用迭代器。最后,可以使用Java 8的stream API来简化代码。
下面是优化后的代码:
```java
List<Integer> list = new ArrayList<>(map.get(s1[0]));
for (int j = 1; j < s1.length; j++) {
List<Integer> list1 = map.get(s1[j]);
list.removeIf(n -> !list1.contains(n));
}
```
这样可以避免重复赋值,使用增强型循环遍历,并使用`removeIf`方法一行代码实现移除不包含在`list1`中的元素。
阅读全文