Java 查找字符串数组列表中按字母顺序排在第一位的字符串
我有一个字符串形式的注释数组列表(其中一个示例是“取出垃圾”。我有一个notes类,其中一个方法应该遍历存储在数组列表中的注释,找到字母表中第一个。这是我当前的方法:Java 查找字符串数组列表中按字母顺序排在第一位的字符串,java,arrays,arraylist,intellij-idea,alphabetical,Java,Arrays,Arraylist,Intellij Idea,Alphabetical,我有一个字符串形式的注释数组列表(其中一个示例是“取出垃圾”。我有一个notes类,其中一个方法应该遍历存储在数组列表中的注释,找到字母表中第一个。这是我当前的方法: public String firstAlphabetically() { String min = ""; for (int i = 0; i < notes.size(); i++) { for (int j = i + 1; j < notes.size()
public String firstAlphabetically() {
String min = "";
for (int i = 0; i < notes.size(); i++) {
for (int j = i + 1; j < notes.size() + 1; i++) {
if ((notes.get(i)).compareTo(notes.get(j)) < 0) {
min = notes.get(i);
} else {
min = notes.get(j);
}
}
}
return min;
}
按字母顺序排列的公共字符串{
字符串min=“”;
对于(int i=0;i
然而,当我运行程序时,我在这一行上得到了一个越界错误:for(int j=I+1;j
。我知道什么是越界错误,但我不知道那一行的哪一部分会导致程序崩溃。有人能告诉我我做错了什么吗?添加:
implements Comparable<Note>
问题1:循环终止条件应为
i
问题2:代码太多。请改用此单行程序:
return notes.stream().sorted().findFirst().orElse(null);
notes.size();返回说明。获取(0);
@Siguza谢谢,成功了!
return notes.stream().sorted().findFirst().orElse(null);