【发布时间】:2016-02-01 04:39:14
【问题描述】:
我正在尝试按字母顺序对 ArrayList 进行重新排序以进行分配。我不允许使用任何方法进行自动排序,必须手动完成。这是我尝试过的代码,但它甚至没有运行。感谢您对此的任何意见。
import java.util.ArrayList;
public class SortArrayList {
public static void main(String[] args) {
ArrayList<String> values = new ArrayList<String>();
public static void main(String[] args) {
ArrayList<String> values = new ArrayList<String>();
values.add("car");
values.add("bear");
values.add("apple");
values.add("xray");
sort(values);
for (int i = 0; i < values.size(); i++)
System.out.println(values.get(i));
}
public static void sort(ArrayList<String> x) {
String temp;
for (int i = 0; i < x.size() - 1; i++) {
for (int j = i + 1; j < x.size(); j++) {
if (x.get(i).compareToIgnoreCase(x.get(j)) > 0) {
temp = x.get(i);
x.add(i,x.get(j));
x.add(j,temp);
}
}
}
}
}
【问题讨论】:
-
代码运行正常(当您删除重复的
main方法时),但在无限循环中,因为您不断将新元素添加到sort的列表中(x.size()在每一轮迭代)。