我有一个字符串数组,任务是找出数组中最长的字符串以及该字符串的位置。我想知道是否可以将数组转换为列表,并且通过使用流我可以解决同样的问题。任何帮助将不胜感激
我已经使用传统方式解决了这个问题,使用循环和一些 if 条件
String names[]={"John","Malisa","Stack Overflow"};
String b=names[i];
int max=b.length();
for(int i=1;i<names.length;i++) {
if(max<names[i].length) {
max=names[i].length;
b=names[i];
}
}
最佳答案
您不需要 filter
方法来查找数组中最长的字符串。使用max
带比较器:
String max = Arrays.stream(names)
.max(Comparator.comparingInt(String::length))
.orElse("");
要查找该元素的索引,请使用:
int index = Arrays.asList(names).indexOf(max);
关于java - 过滤大字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55452773/