用最快的方法可以找出几个数组中相同的字符串

2024-12-05 06:06:23
推荐回答(1个)
回答1:

代码如下,我测试过了。。。。希望满足你的要求

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Test
{
public static void main(String[] args){
String s1 = "AABBC";
String s2 = "ABBCC";
List sub1 = new ArrayList();//保存s1的子串
List sub2 = new ArrayList();//保存s2的子串
Set result = new HashSet();//保存相同的子串

//求s1的子串
for(int i = 1;ifor(int j = 0;j<=s1.length()-i;j++){
sub1.add(s1.substring(j,j+i));
}
}

//求s2的子串
for(int i = 1;ifor(int j = 0;j<=s2.length()-i;j++){
sub2.add(s2.substring(j,j+i));
}
}

System.out.println("\"AABBC\"的子串 : " + sub1);
System.out.println("\"ABBCC\"的子串 : " + sub2);

for(String s: sub1)
if(sub2.contains(s))
result.add(s);

for(String s: sub2)
if(sub1.contains(s))
result.add(s);

System.out.println("相同的子串 : " + result);
}
}

希望能帮到你。。。。仍有问题可以HI我。。。。。