import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description: 查找list1和list2的交集
*/
public class IntersectionMain {
public static void main(String[] args) {
// 初始值
List<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");
list1.add("c");
list1.add("d");
list1.add("e");
list1.add("f");
Map<String, String> map = list1.stream().collect(Collectors.toMap(
key -> key,
value -> ""
));
// 经过操作或者过滤后的集合
List<String> list2 = new ArrayList<>();
list2.add("a");
list2.add("c");
list2.add("e");
list2.add("d");
// 这里的操作 时间复杂度是多少呢? O(n)
for (String key : list2) {
if (map.containsKey(key)){
map.put(key, "1");
}
}
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.printf("map key: %s, value: %s\n", entry.getKey(), entry.getValue());
}
}
}
查找list1和list2的交集--时间复杂度不超过O(n)
最新推荐文章于 2024-06-21 17:11:09 发布