如何创建一个给定字符串的所有子串的List
或ArrayList
? 例如,如果我的输入是“测试”,那么我需要一个数组= {“t”,“e”,“s”,“t”,“te”,“es”,“st”,“tes” ,“est”,“test”}。创建一个字符串的所有子串的数组
-9
A
回答
1
这与给定数字“N”产生排列相似。所以先找到字符串的长度和迭代,并生成子
事情是这个 -
Algorithm-
for i=0 to string.length
for j=1 to string.length-i
//Generate substrings here
正如其他人所建议作出一些尝试来解决这个问题,然后问你的疑问!
1
,如果你想使用ArrayList
,因为它是动态的,你可以试试这个代码:
String input = "test";
String temp;
List<String> list = new ArrayList<String>();
for(int i=0;i<input.length();i++){
for(int j=1;j<=(input.length()-i);j++){
temp = input.substring(i,i+j);
list.add(temp);
}
}
for (String string : list) {
System.out.println(string);
}
如果你仍然想使用字符串数组,你可以这样做:
String input = "test";
String temp;
String[] list = new String[10];
int k=0;
for(int i=0;i<input.length();i++){
for(int j=1;j<=(input.length()-i);j++){
temp = input.substring(i,i+j);
list[k++]=temp;
}
}
for (String string : list) {
System.out.println(string);
}
注意:因为ArrayList是动态的,所以最好使用ArrayList而非数组。
+0
请尝试这一个,让我知道如果你仍然有任何问题。 – 2013-03-12 07:10:38
0
以下是针对您的问题的简单解决方案。
import java.util.ArrayList;
public class Substrings {
public static void main(String []args) {
ArrayList<String> substrings = Substrings.generateSubstrings("test");
for(String s : substrings)
System.out.println(s);
}
public static ArrayList<String> generateSubstrings(String str) {
//The total number of substrings of given string
int substringsCount = str.length() * (str.length() + 1)/2;
ArrayList<String> substrings = new ArrayList<String>(substringsCount);
//generating all the substrings.
for(int i = 0;i < str.length();i++)
for(int j = i+1;j <= str.length();j++)
substrings.add(str.substring(i,j));
return substrings;
}
}
相关问题
- 1. 从字符串创建子串数组
- 2. 是字符串集所有子字符串的另一组
- 3. 从字符串创建一个数组
- 4. 试图从字符串数组中创建一个字符串
- 5. PHP:在foreach中创建一个字符串数组,然后添加所有字符串数组的结果
- 6. 生成一个字符串的所有覆盖子字符串
- 7. java中一个句子中所有子字符串的组合
- 8. 创建字符串数组
- 9. 如何创建一个没有值的字符串数组
- 10. 基于现有的字符串数组创建一个新的数组数组
- 11. 从多个整数数组创建一个字符串数组
- 12. 从字符串数组中创建一个字符串。最快的方法?
- 13. 查找包含至少一个组的所有子字符串
- 14. 给定一个字符串数组,返回所有字符串组的字符串
- 15. 有没有一种简单的方法从C中的字符串数组创建一个字符串?
- 16. 在c中搜索一个字符串的子字符串,然后创建一个新的字符串
- 17. 查找两个字符串之间的所有子字符串
- 18. groovy:创建一个包含所有字符串的值列表
- 19. PHP - 如何创建一个字符串的所有可能性
- 20. C:从分隔的源字符串创建字符串数组
- 21. 创建新的空字符串数组
- 22. 修剪字符串数组中的所有字符串
- 23. PHP的问题 - 如何创建一个字符串的数组?
- 24. 从字符串中创建一个数组,然后在字符串中逐个创建一个
- 25. 串接在字符串数组中的所有非数字字符串
- 26. 从字符串数组创建一个二维数组
- 27. Logstash从字符串创建一个数组数组
- 28. AS3:从指定数组中的字符串中获取所有子字符串
- 29. 从定义的分隔符到字符串数组之间的字符串提取所有子字符串
- 30. SQL:创建字符串数组和查询=像数组中的所有字符串
您是否尝试编写任何代码? – Apurv 2013-03-12 06:56:23
这不是SO的工作原理,直接询问代码。尝试一下自己,然后问一个具体的问题。 – 2013-03-12 06:57:50
请提供您的代码。 – Lakshmi 2013-03-12 07:02:21