看下面两道题
- 计算一个字符串中小写字母的个数( 提示: 参阅 String 对象的 chars 方法)。
- 在一个字符串列表中, 找出包含最多小写字母的字符串。 对于空列表, 返回 Optional
<String> 对象
第一个比较简单
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class Practice {
public static void main(String[] args) {
System.out.println(countLowercaseLetters("aabbCC"));
}
public static long countLowercaseLetters(String str){
return str.chars().filter(Character::isLowerCase).count();
}
}
第二个我们可以利用第一个方法来实现
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class Practice {
public static void main(String[] args) {
System.out.println(countLowercaseLetters("aabbCC"));
System.out.println(mostLowercase(new ArrayList<String>(){{add("aabbCC");add("aaBBCC");}}));
}
public static long countLowercaseLetters(String str){
return str.chars().filter(Character::isLowerCase).count();
}
public static String mostLowercase(List<String> strings){
strings.stream().max(Comparator.comparingLong(Practice::countLowercaseLetters));
return strings.stream().max(Comparator.comparingLong(Practice::countLowercaseLetters)).get();
}
}