给你两个方法,一个是获取所有子字符串,如果需要去重可以把list改成set,这两个方法都是通用的,只不过是在其它文件中截取出来的
- //求一个字符串的所有字字符串
- public static List<String> getSubStrList(String str) {
- List<String> list = new ArrayList<String>();
- for (int i = 0; i < str.length(); i++) {
- for (int j = i + 1; j < (str.length() + 1); j++) {
- String subStr = str.substring(i, j);
- list.add(subStr);
- }
- }
- System.out.println("List"+list);
- return list;
- }
复制代码 下面这个是对字符串进行排序的,当然,你也可以用另一种方法Comparator对象实现定制排序,还有一个叫Collections工具类中有个sort()方法我没试过,你可以试试.
- //利用选择原理对list中的元素进行排序
- for (int i = 0; i < list.size() - 1; i++) {
- for (int j = i; j < list.size(); j++) {
- String str1 = list.get(i);
- String str2 = list.get(j);
- String mark = null;
- //分别把字符串变为小写字符,并比较大小,如果前面的小于后面的字符串,就调换list中对应的value
- if ((str1.toLowerCase()).compareTo(str2.toLowerCase()) < 0) {
- mark = str1;//用于存放 list中index为i的value
- list.set(i, str2);//把大的字符串的value覆盖index为i的value
- list.set(j, mark);//把index为i的value覆盖index为j的value
- }
- }
- }
复制代码
|