如何取string字符中有几个相同的字符串&&如何把两个字符串中相同的字符串赛选出来
package springboot02configautoconfig;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class cs {
public static void main(String[] args){
String s1 = "AABBC";
String s2 = "ABBCC";
String s3 = "AABCC";
Integer A = 0;
List<String> sub1 = new ArrayList<String>();//保存s1的子串
List<String> sub2 = new ArrayList<String>();//保存s2的子串
List<String> sub3 = new ArrayList<String>();//保存s3的子串
Set<String> result = new HashSet<String>();//保存相同的子串
//求s1的子串
for(int i = 1;i<s1.length();i++){
for(int j = 0;j<=s1.length()-i;j++){
sub1.add(s1.substring(j,j+i));
}
}
//求s2的子串
for(int i = 1;i<s2.length();i++){
for(int j = 0;j<=s2.length()-i;j++){
sub2.add(s2.substring(j,j+i));
}
}
for(int i = 1;i<s3.length();i++){
for(int j = 0;j<=s3.length()-i;j++){
sub3.add(s3.substring(j,j+i));
}
}
System.out.println("\"AABBC\"的子串 : " + sub1);
System.out.println("\"ABBCC\"的子串 : " + sub2);
System.out.println("\"ABBCC\"的子串 : " + sub3);
for(int o = 0; o<s1.length();o++) {
if(s1.charAt(o)=='A'){
A++;
}
}
System.out.println(A);
for(String s: sub1)
if(sub2.contains(s)&&sub3.contains(s))
result.add(s);
for(String s: sub2)
if(sub1.contains(s)&&sub3.contains(s))
result.add(s);
for(String s: sub3)
if(sub2.contains(s)&&sub1.contains(s))
result.add(s);
System.out.println("相同的子串 : " + result);
}
}