参考文献:
https://blog.csdn.net/weixin_34310369/article/details/93822778
https://blog.csdn.net/Lydia233/article/details/102655536
功能:将字符串数组中的各个字符串,按照字符串长度由大到小排序
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* 2020-06-28 :
* https://blog.csdn.net/weixin_34310369/article/details/93822778
* https://blog.csdn.net/Lydia233/article/details/102655536
*
*
*/
public class TestSetSortByLength {
public static void main(String[] args) {
String addressStr = "湖北省,武汉市,江岸区,江汉区,乔口区,汉阳区,武昌区,青山区,洪山区,东西湖区,汉南区,蔡甸区,江夏区,黄陂区,新洲区,黄石市,黄石港区,石灰窑区,下陆区,"
+ "铁山区,阳新县,大治市,十堰市,茅箭区,张湾区,郧县,郧西县,竹山县,竹溪县,房县,丹江口市,宣昌市,西陵区,伍家岗区,点军区,虎亭区,宜昌县,远安县,兴山县,秭归县,"
+ "长阳土家族自治县,五峰土家族自治县,宜都市,当阳市,枝江市,夷陵区,襄阳市,襄城区,樊城区,襄阳县,公司,科技,信息,信息科技,集团";
String[] addressArray = addressStr.split(",");
// List result = Arrays.asList(addressStr.split(","));
Set addressSet = sort(addressArray);
for (String s : addressSet)
System.out.println(s);
System.out.println("---size=" + addressSet.size());
}
/**
* 按照字符串的长度从大到小排序
* @param strs
* @return
*/
private static Set sort(String[] strs) {
Set set = new TreeSet<>(new Comparator() {
@Override
public int compare(String s1, String s2) {
int num = new Integer(s2.length()).compareTo(new Integer(s1.length()));
//如果长度相等,则根据内容排序
if(num==0) {
return s2.compareTo(s1);
}
return num;
}
});
for (String s : strs)
set.add(s);
return set;
}
}