java-String:将字符串数组按照长度排序

 

参考文献:

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<String> result = Arrays.asList(addressStr.split(","));
		Set<String> addressSet = sort(addressArray);
		for (String s : addressSet)
			System.out.println(s);
		System.out.println("---size=" + addressSet.size());
	}
	
	/**
	 * 按照字符串的长度从大到小排序
	 * @param strs
	 * @return
	 */
	private static Set<String> sort(String[] strs) {
		
		Set<String> set = new TreeSet<>(new Comparator<String>() {
			@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;
		
	}

}

 

    原文作者:清越浅草闲
    原文地址: https://blog.csdn.net/weixin_43671497/article/details/107017406
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞