输出一个字符串的字符串集

import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

import java.util.Set;

import java.util.TreeSet;


public class Demo

{


/**

* 功能描述:查找一个字符串的字符串集 输入:abab 输出:a b ab ba aba bab

*

* @param args

*/


public static void main(String[] args)

{

List<String> childStr = getChildren("ababe");

Set<String> set = new TreeSet<String>();

Collections.sort(childStr);

for (int i = 0; i < childStr.size(); i++)

{

set.add(childStr.get(i));

}

System.out.println(set);

}


public static List<String> getChildren(String data)

{

List<String> list = new ArrayList<String>();

Set<String> set = new TreeSet<String>();

int length = data.length();

for (int j = 0; j < length; j++)

{

if (j == 0)

{

for (int i = 0; i < length-1; i++)

{

getChild(data, set, i);

}

} else if (j > 0)

{

String newStr = data.substring(j, data.length());

for (int i = 0; i < newStr.length(); i++)

{

getChild(newStr, set, i);

}

}

}

for (int i = 0; i < set.size(); i++)

{

list.add(set.toString());

}

return list;

}


/**

* @param data

* @param list

* @param i

*/

private static void getChild(String data, Set<String> list, int i)

{

String s = data.substring(0, i + 1);

list.add(s);

}

}

//哎,代码写的有点恶心.

你可能感兴趣的:(字符串,字符串集)