如何使用for循环实现一个Java方法来找出ArrayList中长度最长的字符串(若存在多个相同长度的字符串,返回最先出现的那个)并命名为'longest'?
时间: 2024-12-11 08:27:45 浏览: 13
你可以使用下面的Java代码来创建一个名为`longest`的方法,该方法接受一个`ArrayList<String>`作为输入,并通过for循环找出其中最长的字符串:
```java
import java.util.ArrayList;
public class Main {
public static String longest(ArrayList<String> stringList) {
// 假设第一个元素即为初始最长字符串
String longest = stringList.get(0);
int maxLength = stringList.get(0).length();
// 遍历ArrayList
for (int i = 1; i < stringList.size(); i++) {
String currentStr = stringList.get(i);
// 检查当前字符串是否比当前最长字符串还长
if (currentStr.length() > maxLength) {
// 更换最长字符串
longest = currentStr;
maxLength = currentStr.length();
} else if (currentStr.length() == maxLength) {
// 如果长度相同,保留最早的出现
if (i < stringList.indexOf(longest)) {
longest = currentStr;
}
}
}
return longest;
}
public static void main(String[] args) {
ArrayList<String> exampleList = new ArrayList<>();
exampleList.add("short");
exampleList.add("medium");
exampleList.add("longest_string");
exampleList.add("longest_string_again"); // 添加另一个等长的字符串
System.out.println(longest(exampleList)); // 输出 "longest_string"
}
}
```
这个方法首先假设第一个元素是最长的,然后逐个检查后续元素。如果遇到更长的字符串,就更新最长字符串;如果长度相等,只替换最早出现的。
阅读全文