我正在尝试按升序删除ArrayList中的元素。我把它降级为降序,但无法用其他方式解决。
我试过了:
for (int r = 0; r < s.size(); r++)
但它只显示原始元素和元素减去索引为0的元素。
到目前为止,我有:
public class test {
public static void main(String[] args) {
ArrayList <String> s = new ArrayList<> (4);
s.add("A");
s.add("B");
s.add("C");
s.add("D");
//removes elements in descending order
for(int r = s.size()-1; r >=0; r--){
System.out.println(s);
s.remove(r);
}
System.out.println(s.size());
}
}
有什么想法吗?
答案 0 :(得分:0)
使用Iterator
,您可以安全地从头开始删除项目。
for(Iterator<String> i = s.iterator(); i.hasNext();) {
i.remove();
}
答案 1 :(得分:0)
要按升序删除元素,您需要始终删除 first 元素,该元素始终为元素0
:
while (s.size() > 0) {
System.out.println(s);
s.remove(0);
}
答案 2 :(得分:0)
你可以试试这个
ArrayList <String> s = new ArrayList<String> (4);
s.add("A");
s.add("B");
s.add("C");
s.add("D");
//reverse the arraylist
Collections.sort(s ,Collections.reverseOrder());
Iterator<String> i = s.iterator();
while(i.hasNext()){
System.out.println(i.next());
i.remove();
}