给定一个字符串元素列表,如下所示:
-
["1", "2", "bilibili", "of", "codesheep", "5", "at", "BILIBILI", "codesheep", "23", "CHEERS", "6"]
里面有数字型字符串,有字母型字符串;字符串里有大写,也有小写;字符串长度也有长有短
现在要写代码完成一个小功能:
我想找出所有 长度>=5的字符串,并且忽略大小写、去除重复字符串,然后按字母排序,最后用“爱心❤”连接成一个字符串输出!
哟,就这点需求能难倒我?三分钟之类必搞定!
首先我写一个函数,判断输入字符串到底是字母还是数字
-
publicstaticBoolean isNum( String str ) {
-
for( int i=0; i<str.length(); i++ ) {
-
if(!Character.isDigit(str.charAt(i))) {
-
returnfalse;
-
}
-
}
-
returntrue;
-
}
接下来我一顿SAO操作:
-
// 先定义一个具备按字母排序功能的Set容器,Set本身即可去重
-
Set<String> stringSet = newTreeSet<String>(
-
newComparator<String>() {
-
@Override
-
publicint compare(String o1, String o2) {
-
return o1.compareTo(o2); // 按字母顺序排列
-
}
-
}
-
);
-
-
// 以下for循环完成元素去重、大小写转换、长度判断等操作
-
for( int i=0; i<list.size(); i++