我需要通过集合交集来集合集合,并使用这样的签名编写函数
Collection<Set<Integer>> filter(Collection<Set<Integer>> collection);
Run Code Online (Sandbox Code Playgroud)
这是一个简单的集合示例
1) {1,2,3}
2) {4}
3) {1,5}
4) {4,7}
5) {3,5}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我们可以看到套1,3和5相交.我们可以将它重写为一个新集{1,2,3,5}.我们还有两套也有交叉点.他们是2和4,我们可以创建一个新的集合{4,7}.输出结果将是两组的集合:{1,2,3,5}和{4,7}.
我不知道从哪一点开始解决这个任务.
我有这样的字符串
"abc:def"
Run Code Online (Sandbox Code Playgroud)
我需要检查它是否匹配.如果是,我想应用正则表达式并检索它的第一部分("abc").
这是我的尝试:
Pattern pattern = Pattern.compile(".*:.*");
String name = "abc:def"
Matcher matcher = pattern.matcher(name);
if (matcher.find()) {
String group = matcher.group(1);
System.out.println(group);
}
Run Code Online (Sandbox Code Playgroud)
它给了我
线程"main"中的异常java.lang.IndexOutOfBoundsException:无组1