【发布时间】:2014-09-22 09:32:02
【问题描述】:
我正在尝试从长度为零的 LinkedList 中删除成员。我试图使代码动态化,它从字符串中删除所有空格,但将单词分开并按顺序排列。我尝试通过将字符串转换为数组并在空格处拆分它来实现这一点。然后我根据自己的喜好将其转换为 LinkedList。
private void sliceItUpFreashness() {
String s = " hello there"; // four spaces at beginning of string
String[] sa = s.split(" ");
LinkedList<String> ll = new LinkedList<>(Arrays.asList(sa));
for (int i = 0; i < ll.size(); i++) {
System.out.println("Size for ll("+i+") == "+ll.get(i).length()); // confirms length of the members is 0
if (ll.get(i).length() == 0) {
ll.remove(i);
}
}
System.out.println("-----");
for (String a : ll) { // this confirms if the zero-length members were removed
System.out.println(a);
}
}
但是,上面的代码不会删除长度为 0 或 null 的成员。我能做什么?
【问题讨论】:
-
不要在循环中删除。请改用
iterator。
标签: java arrays string linked-list