我有一个包含URL的列表,在该列表中有许多我想要删除的URL。我想要的包含一个特定的字符串。这是我的代码:
String website = "www.yahoo.com";
List<String> links = App.extractLinks(website); // this gets the links (URLs)
for(int i = 0; i < links.size(); i++) {
if(links.get(i).contains("XAB")) {
}
现在我知道我可以创建一个新的List并执行.add(i),但这只会放入索引(因为它是一个整数)但是我想创建一个只有我想要的URL的新List 。也就是说,我需要一个列表而不是字符串,因为我需要在以后的代码中一次访问一个。大约有80个不同的网址
答案 0 :(得分:1)
for (Iterator i = links.iterator(); i.hasNext();) {
if (!links.next().contains("XAB"))
i.remove();
}
答案 1 :(得分:0)
如果您想在迭代期间从List
删除项目,可以使用Iterator
。
Iterator<String> iterator = links.iterator();
while(iterator.hasNext()) {
// you need to invoke Iterator.next before manipulating the List
// or any of its items
if (!iterator.next().contains("XAB")) {
iterator.remove();
}
}
相反,如果您只想使用List
"XAB"
创建新的Strings
,则可以使用快速枚举:
List<String> myXABList = new ArrayList<String>();
for (String s: links) {
if (s.contains("XAB")) {
myXABList.add(s);
}
}