我正努力做到以下几点:
List<String> list = new ArrayList();
list.add("xone");
list.add("two");
list.add("xthree");
list.add("xseven");
list.stream()
.filter( e -> e.startsWith("x"))
.sort( e -> e.length() )
.collect(..)
使用流:
List<String> longest =
list.stream().filter( e -> e.startsWith("x"))
.collect(groupingBy(String::length))
.entrySet()
.stream()
.max(comparingInt(e -> e.getKey()))
.get()
.getValue();
但就我个人而言,我认为最好不要使用流:尽管代码较长,但我发现它更容易遵循,而且它避免了处理所有短于已找到的最长字符串的字符串:
List<String> longest = new ArrayList<>();
int max = 0;
for (String s : list) {
if (!s.startsWith("x")) continue;
// Ignore the string if it is shorter.
if (s.length() < max) continue;
if (s.length() > max) {
// We found a longer string. Discard the current entries.
longest.clear();
max = s.length();
}
// Add the string to the list of longest strings.
longest.add(s);
}
本文向大家介绍找到字符串中最长的单词,并返回它的长度相关面试题,主要包含被问及找到字符串中最长的单词,并返回它的长度时的应答技巧和注意事项,需要的朋友参考一下 function findLongestWord(str){ // let arr=str.split(" "); let arr=str.replace(/[,|.|;]/," ").split(" "); let longLength=
我有一个对象流,我想找到一个最大值的一些属性,计算起来很昂贵。 作为一个特定的简单示例,假设我们有一个字符串列表,我们希望找到最酷的一个,给定函数。
我试图列出整数列表中的重复元素,例如, 使用jdk 8的流。有人试过吗?要删除重复项,我们可以使用distinct() api。但是如何找到重复的元素呢?有人能帮我吗?
从提供的数组中返回 n 个最大元素。如果 n 大于或等于提供的数组长度,则返回原数组(按降序排列)。 结合使用Array.sort() 与展开操作符(...) ,创建一个数组的浅克隆,并按降序排列。 使用 Array.slice() 以获得指定的元素个数。 忽略第二个参数 n ,默认获取单个元素(以数组的形式)。 const maxN = (arr, n = 1) => [...arr].sort
我想确定给定的字符串是否匹配中的元素之一(忽略大小写)。 我正试图用Java 8号溪流来实现这一点。下面是我使用的尝试: 但那不能编译。 我应该如何编码它以返回是否找到匹配?
当我尝试对BigInteger使用MAX_VALUE时,它给出>>ERROR>>找不到符号变量MAX_VALUE