请用java编写一个算法,查询一组字符串集合里面是否与某个目标字符串匹配,如目标字符串为12301,字符串集合有12301、123,则输出12301, 如目标字符串为12301,字符串集合有12302、123,则输出123
时间: 2024-09-30 16:04:09 浏览: 18
你可以使用Java的`Set`接口和遍历来实现这个功能。这里我们可以创建一个`HashSet`,因为它不允许有重复元素,然后检查每个字符串是否等于目标字符串。下面是一个简单的示例:
```java
import java.util.HashSet;
public class StringMatcher {
public static void main(String[] args) {
// 目标字符串
String target = "12301";
// 字符串集合
HashSet<String> stringSet = new HashSet<>();
stringSet.add("12301");
stringSet.add("123");
// 检查并打印匹配的字符串
for (String str : stringSet) {
if (str.equals(target)) {
System.out.println(str);
}
}
}
}
```
在这个例子中,如果目标字符串是"12301",程序会输出"12301"。如果目标字符串是"12302",因为集合里没有这个字符串,所以不会有任何输出。
相关问题
请用java编写一个算法,查询一组字符串集合里面是否与某个目标字符串匹配, 如目标字符串为12301,字符串集合有12302、12401,则输出123
在Java中,你可以使用ArrayList或者HashSet等数据结构来存储字符串集合,并遍历这个集合来查找是否存在与目标字符串相匹配的部分。下面是一个简单的示例,该算法会检查每个字符串是否从头到尾包含目标字符串:
```java
import java.util.ArrayList;
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
String target = "12301";
ArrayList<String> stringSet = new ArrayList<>();
// 假设stringSet已经填充了你需要的字符串
for (String str : stringSet) {
if (str.startsWith(target) && str.endsWith(target)) { // 检查是否全包含
System.out.println(str); // 如果找到匹配,打印出来
return; // 找到就停止搜索
}
}
System.out.println("No match found."); // 如果没有找到匹配,输出提示信息
}
}
```
在这个例子中,`startsWith`和`endsWith`方法用于判断目标字符串是否作为完整的前缀和后缀存在。如果需要精确匹配整个字符串而不仅仅是部分,可以简单地使用`equals`方法。
阅读全文