Removing every 2nd element in array list
本问题已经有最佳答案,请猛点这里访问。
到目前为止,我一直在尝试编写一个方法removevenlength,它将字符串的数组列表作为参数,并从列表中删除所有长度为偶数的字符串。但到目前为止,我已经得到了一个指数超出界限的例外,我不知道为什么。
任何帮助都将不胜感激
1 2 3 4 5 6 7 8 9 10 11 | public static ArrayList<String> removeEvenLength(ArrayList<String> list) { int size = list.size(); ArrayList<String> newLst = new ArrayList<String>(); for (int x = 0; x < size; x++) { if (list.get(x).length() % 2 == 0) { list.remove(x); } } return list; |
}
删除一个元素后,列表的大小将减少一个,因此变量
另外,在删除索引
这是一个正确的方法
1 2 3 4 5 6 7 | for (int x = 0; x < list.size();) { if (list.get(x).length() % 2 == 0) { list.remove(x); } else { x++; } } |
1 2 3 4 5 6 7 8 9 | public static List<String> removeEvenLength(List<String> list) { List<String> newList = new ArrayList<String>(); for (String item: list) { if (item.length % 2 != 0) { newList.add(item); } } return newList; } |