在此方法中,我按字母順序比較String
個元素。換句話說,如果ArrayList
中的元素按字母順序大於最小值String
(方法中的參數)且小於最大值String
(也是參數),則應該從ArrayList
中刪除此String
元素。按字母順序比較ArrayList中的字符串元素
但是,運行該方法後沒有返回字符串,甚至沒有應該保留在方法調用後的字符串。另外,當IF
條件不滿足時,它將打印出"Error"
而不返回列表。
import java.util.ArrayList;
public class Main {
public static ArrayList<String> removeInRange(ArrayList<String> list, String beginning, String ending)
{
for (int i = 0; i<list.size(); i++)
{
if (list.get(i).compareTo(beginning)> 0 && list.get(i).compareTo(ending)< 0)
{
list.remove(list.get(i));
}
else {
System.out.println("Error");
}
} return list;
}
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("h");
list.add("e");
list.add("x");
removeInRange(list, "a", "k");
}
}
向後迭代列表,或使用'Iterator.remove()'。 –
撇開有點破碎的刪除邏輯,你的問題是什麼?沒有地方你的「...但名單仍然沒有返回。」可以在代碼中申請你的節目。 – Durandal