如何从包含字符串的列表中删除特定字符串....
如:
ArrayList<String> myStrings = new ArrayList<>();
myStrings.add("Alpha");
myStrings.add("Beta");
myStrings.add("Gama");
. //The order can be random
.
.
.
现在,我只有列表myStrings,我不知道哪个String在哪个索引处。但我知道,我想在删除说“Alpha”后显示所有字符串。
总结一下,如何在删除我知道该数组包含但不知道其索引/位置的String后,从String数组中获取字符串。
答案 0 :(得分:6)
使用删除:
myStrings.remove("Alpha");
请注意,这只会从列表中删除第一次出现的“Alpha”。
答案 1 :(得分:2)
您还希望删除的String列表中是否有重复项?
如果是这样,您可以将list
的String转换为set
的String。然后,您可以有效地从set
中删除字符串,然后将其转换回map
。
// converting to set will remove duplicates
final Set<String> uniqueStrSet = new HashSet<String>(listOfString);
// remove string from set
uniqueStrSet.remove(strToRemove);
// convert set back to list
list = new ArrayList<String>(uniqueStrSet);
答案 2 :(得分:1)
boolean remove(Object o)
上面的ArrayList类方法将从列表中删除 Object o 的第一个出现。
你可以这样做:
myStrings.remove("Alpha");
如果ArrayList包含指定的元素,它将返回 true 。
答案 3 :(得分:1)
如果这不起作用
myStrings.remove("Alpha");
试试这个它对我很好
int pos = myStrings.indexOf("Alpha");//Getting string position
myStrings.remove(pos);