如何創建一個給定字符串的所有子串的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. C++中的字符串創建一個字符串數組
- 3. 是字符串集所有子字符串的另一組
- 4. 創建一個Java字符串數組
- 5. 從字符串創建一個數組
- 6. 試圖從字符串數組中創建一個字符串
- 7. PHP:在foreach中創建一個字符串數組,然後添加所有字符串數組的結果
- 8. 查找包含字符串數組中子字符串的所有字符串
- 9. 生成一個字符串的所有覆蓋子字符串
- 10. java中一個句子中所有子字符串的組合
- 11. string.split()創建一個數組,只有一個字符串
- 12. 創建一個串聯的字符串
- 13. 創建字符串數組
- 14. 如何創建一個沒有值的字符串數組
- 15. 基於現有的字符串數組創建一個新的數組數組
- 16. 比較數組中的所有字符串到另一個數組中的所有字符串,PHP
- 17. 查找在另一個字符串列表中有一個項目的子字符串的所有字符串
- 18. 從多個整數數組創建一個字符串數組
- 19. PHP:匹配另一個字符串數組的子字符串的字符串數組獲取數組值
- 20. 找到一個字符串的所有不同的子串
- 21. 如何在PHP中創建一個字符串數組的字符串?
- 22. 從字符串數組中創建一個字符串。最快的方法?
- 23. Java:用一個字符串替換所有匹配的字符串子串
- 24. 查找包含至少一個組的所有子字符串
- 25. 給定一個字符串數組,返回所有字符串組的字符串
- 26. 有沒有一種簡單的方法從C中的字符串數組創建一個字符串?
- 27. 在c中搜索一個字符串的子字符串,然後創建一個新的字符串
- 28. 兩個字符串之間的所有常見子字符串
- 29. 查找兩個字符串之間的所有子字符串
- 30. groovy:創建一個包含所有字符串的值列表
您是否嘗試編寫任何代碼? – Apurv 2013-03-12 06:56:23
這不是SO的工作原理,直接詢問代碼。嘗試一下自己,然後問一個具體的問題。 – 2013-03-12 06:57:50
請提供您的代碼。 – Lakshmi 2013-03-12 07:02:21