从字符串

问题描述:

的列表中删除一个String项目如何删除从包含字符串列表的特定字符串....从字符串

如:

ArrayList<String> myStrings = new ArrayList<>(); 
myStrings.add("Alpha"); 
myStrings.add("Beta"); 
myStrings.add("Gama"); 
.       //The order can be random 
. 
. 
. 

现在,我只有列表myStrings和我不知道哪个字符串在哪个索引处。但我知道,我想在删除“Alpha”之后显示所有字符串。

总结,我知道数组包含但不知道索引/位置的字符串后,如何从字符串数组中获取字符串。

+2

迭代它们并自己实现逻辑。 – Stultuske 2015-04-02 07:13:37

中删除使用:

myStrings.remove("Alpha"); 

注意,这可能仅仅从列表中删除“阿尔法”的第一次出现。

+0

它是一个布尔值,并且不符合我的要求来获取字符串值。 – asdec90 2015-04-02 07:18:05

+0

@ asdec90它从列表中删除“Alpha”。如果找到并删除“Alpha”,它将返回“true”。删除它之后,您可以迭代列表并显示剩余的字符串。我假设你知道如何迭代列表。最简单的方法 - 'for(String s:myStrings){...}'。 – Eran 2015-04-02 07:54:56

你有没有重复的字符串列表,你也想删除?

如果是这样,您可以将String的list转换为String的set。然后,您可以高效地从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); 

boolean remove(Object o) 

ArrayList类的上述方法将从列表中删除对象的第一次出现Ò

你可以这样做:

myStrings.remove("Alpha"); 

它将返回如果ArrayList中包含指定的元素。