【发布时间】:2020-04-17 02:10:59
【问题描述】:
我正在尝试查找是否在我创建的 2D LinkedHashSet 中找到了特定的字符串值。
下面是一些初始化LinkedHashSet的代码:
LinkedHashSet<LinkedHashSet<String>> block = new LinkedHashSet<LinkedHashSet<String>>();
我曾尝试使用 .contains 像这样,但它似乎是一个不正确的参数类型:
int N = Integer.parseInt(b1.readLine());
for(int i = 0; i<N; i++) {
String sorts [] = (b1.readLine()).split(" ");
if(block.stream().anyMatch(list->list.contains(sorts[0]))) {
//System.out.println("I entered");
for (Set<String> innerSet : block) {
for (String string : innerSet) {
if(string.equals(sorts[0])) {
innerSet.add(sorts[5]);
}
if(string.equals(sorts[5])) {
innerSet.add(sorts[0]);
}
}
}
}
else {
block.add(new LinkedHashSet<String>(Arrays.asList(sorts[0], sorts[5])));
}
【问题讨论】:
-
排序的类型是什么?
-
这是您今天提出的第二个此类问题。你能分享你的完整尝试吗?请创建一个minimal reproducible example。
-
@hd1 它是一个字符串。
-
@Turing85 我的全部尝试不一定会为问题添加更多细节,因为我只是在这条线上遇到了麻烦。
-
我要解决的这个问题来自 usaco 网站。该问题所属的比赛已经结束,因此允许就该问题进行讨论。这是问题的链接:usaco.org/index.php?page=viewproblem2&cpid=965 在问题页面上指定输入。
标签: java linkedhashset