正如你所看到的,我想从我的SplitedIgrediants列表中删除或删除等于我的入口的入口,我已经尝试过删除或删除,但似乎出现了一个错误。那么我该如何从JAVA的列表中删除这个成分元素呢。
String ingredientid = request.getParameter("id");
DbHandler dbsplt = new DbHandler();
for (String ingrediant : SplitedIngrediants) {
if (ingrediant.equals(ingredientid)) {
//HERE REMOVE THE ingredient from SplitedIngrediants list
}
试试这个:
String ingredientid = request.getParameter("id");
SplitedIngrediants.removeAll(Collections.singleton(ingredientid));
示例代码:
public static void main(String args[]) {
List<String> l = new ArrayList<String>();
l.add("first");
l.add("first");
l.add("second");
String ingredientid = "first";
l.removeAll(Collections.singleton(ingredientid));
System.out.println(l);
}
如果SplitedIngrediants是一个字符串数组,请尝试:
public static void main(String args[]) {
String[] SplitedIngrediants = new String[] { "first", "first", "second" };
String ingredientid = "first";
List<String> NewSplitedIngrediants = new ArrayList<>();
for (String ingrediant : SplitedIngrediants) {
if (!ingrediant.equals(ingredientid)) {
NewSplitedIngrediants.add(ingrediant);
}
}
SplitedIngrediants = new String[NewSplitedIngrediants.size()];
SplitedIngrediants = NewSplitedIngrediants.toArray(SplitedIngrediants);
for (String ingrediant : SplitedIngrediants) {
System.out.println(ingrediant);
}
}
除非您手动声明迭代器并使用iterator.remove(),否则您不能在迭代时从集合中删除元素(您将获得一些ConprestModificationException
)。
例子:
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(4);
list.add(5);
Iterator<Integer> it = list.iterator();
Integer current;
while (it.hasNext()) {
current = it.next();
if(current.equals(4)) {
it.remove();
}
}
输出:
[3, 5]
这背后的原因是“前切”构造在内部创建了一个迭代器。迭代器的目的是确保可迭代的每个元素只访问一次。因此,如果在不使用迭代器方法的情况下从可迭代对象中添加/删除元素,则迭代器无法再完成其任务。
第二种选择:在列表上迭代的时候,列一个要删除的条目的列表,迭代完之后删除。
我有一个由DB中称为Notes的对象填充的列表。对象的数量不同。我需要比较字符串变量,如果字符串相等,执行某个操作。如何完成这一点? 到目前为止,我的代码以NullPoInterExeption结尾:
本文向大家介绍如何从Python的字符串列表中删除空字符串?,包括了如何从Python的字符串列表中删除空字符串?的使用技巧和注意事项,需要的朋友参考一下 您可以使用过滤器过滤掉空字符串。filter的第一个参数是lambda,它将告诉您字符串是否为空。您可以将此lambda传递为None,bool,len或检查字符串是否为空的函数。您可以通过以下几种方式进行检查: 请单击下面的链接以查看带有简单
问题内容: 如果我有一个字符串列表,例如: 为了摆脱每个字符串中的所有s,我该怎么办?我尝试在for循环中使用或,但是它无法像正常字符串(不在列表中)那样工作。有人有建议吗? 问题答案: 尝试这个:
问题内容: 因此,从字符串列表开始,如下所示 string_list = [“休息”,“休息”,“看”,“看”,“它”,“吐”] 我想从列表中删除作为另一个元素的子字符串的任何元素,例如给出结果… string_list = [“休息”,“看上去”,“吐”] 我有一些实现此目的的代码,但是它很丑陋,而且可能不必要地复杂。有没有一种简单的方法可以在Python中做到这一点? 问题答案: 第一个构建块
我创建了一个函数来删除数组中的一个特定元素,但正在努力解决的问题是,当我们从s.next()中获得要删除的元素的值时,它不是删除,而是当我们已经为它初始化了一个值时,它是删除
问题内容: 我有一个清单 我正在尝试删除其超字符串已经在列表中的字符串。在这种情况下,结果应为: 我已经写了代码: 但它似乎不起作用。我读过,我们无法在列表上进行迭代时将其删除。因此,副本,而这是我的原始列表。 问题答案: l=[‘abc’,’abcdef’,’def’,’defdef’,’polopolo’] print [j for i, j in enumerate(l) if all(j