gpt4 book ai didi

java - 在字符串数组中查找最长的字符串

转载 作者:搜寻专家 更新时间:2023-11-01 03:57:04 26 4
gpt4 key购买 nike

问题是我尝试这样做,但我检查字符串长度的方法不起作用;我该怎么做才能解决它?

public static void main(String[] args) { 
String[] animalNames = {"cat", "rabbit", "horse", "goat", "rooster", "ooooooooooooooo"};
String a= getLongestString(animalNames);
System.out.println(a);
}

public static String getLongestString(String []animalNames) {
// String animalNames[] = {"cat","chicken","horse","ooooooooo" };

int j = 0;
for (j = 0; j <= animalNames.length; j++) {
if (animalNames[j].length() > animalNames[j + 1].length()) {
return (animalNames[j]);
}
}
return null;
}

}

最佳答案

使用 java 8 非常简单(只需先检查您的数组是否为空或专门处理 .get()):

List<String> strings = Arrays.asList(animals);    
String longest = strings.stream().
max(Comparator.comparingInt(String::length)).get();
int max = longest.length();

或者,如果您只需要长度:

int max = strings.stream().map(String::length).max(Integer::compareTo).get();

或者,如果您更喜欢单线,它是:

String longest = Arrays.asList(animals)
.strings.stream().max(Comparator.comparingInt(String::length)).get();
=AND=
int max = Arrays.asList(animals)
.stream().map(String::length).max(Integer::compareTo).get();

好吧,好吧..它实际上是两层的:-)享受吧!

更新:

代替 Arrays.asList(animals).strings.stream() 可以直接使用 Stream.of(animals)

关于java - 在字符串数组中查找最长的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26725296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com