在此方法中,我按字母顺序比较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