`
man
  • 浏览: 5644 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

把List<String> list中不存在Set<String> set的元素删除

阅读更多
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class JavaTest {

public static void main(String[] args) {
List list=new ArrayList();
int i;
for(i=0;i<=5;i++)list.add("a"+i);
System.out.println("list size:"+list.size());
Set set=new HashSet();
set.add("a1");
set.add("a2");
for(int j=0;j<list.size();j++){
String s=(String)list.get(j);
                           System.out.println(j);
if(!set.contains(s))list.remove(s);
}
for(i=0;i<list.size();i++)
System.out.println(list.get(i));

}

}
程序作用删除list里不等于set的元素
结果:
0,1,2,3
a1,a2,a4
不知为何会得出这个结果来的。。。
搞不懂for循环,当删除一个时,list.size()减小,但j++只会大,部分数据就删不了
大家有什么办法实现这东西
分享到:
评论
3 楼 man 2008-01-18  
问题解决了if(!set.contains(s)){list.remove(s); j--;}
当有删除时让下标不变
网上都有挺多与到这种情况的,但我觉得这种会好,简单
2 楼 抛出异常的爱 2008-01-18  
iterater会维护size的....
1 楼 man 2008-01-18  
判断条件改成判断是否到尾就能,但List 双向链,没有结尾判断,有别的实现方法不?

相关推荐

    List<Map>转化为List工具类

    一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List&lt;Map&lt;String, Object&gt;&gt;结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List&lt;Map&lt;String, Object&gt;...

    求2个集合的交集

    public static List&lt;string&gt; GetIntersection(List&lt;string&gt; list1, List&lt;string&gt; list2) { List&lt;string&gt; list3 = new List&lt;string&gt;(); //第一种方法:循环遍历 //O(n×m) for (int i = 0; i &lt; list1.Count; i++...

    c++头文件大全.txt

    C++ 标准库头文件大全 ...&lt;string&gt;:字符串 &lt;tuple&gt;:元组 &lt;unordered_map&gt;:无序映射 &lt;unordered_set&gt;:无序集合 &lt;utility&gt;:实用程序 &lt;vector&gt;:向量 输入/输出 &lt;fstream&gt;:文件流 &lt;iomanip&gt;:输入/输出操作符格式化

    C++标准模板库STL初步(1)

    在C++标准中,STL被组织为下面的几个头文件:&lt;string&gt;、&lt;vector&gt;、&lt;list&gt;、&lt;deque&gt;、&lt;algorithm&gt;、&lt;iterator&gt;、&lt;set&gt;、&lt;map&gt;、&lt;memory&gt;、&lt;numeric&gt;、&lt;queue&gt;、&lt;functional&gt;、&lt;stack&gt;和&lt;utility&gt;。文件中主要介绍了...

    C++标准模板库STL初步(2)

    在C++标准中,STL被组织为下面的几个头文件:&lt;string&gt;、&lt;vector&gt;、&lt;list&gt;、&lt;deque&gt;、&lt;algorithm&gt;、&lt;iterator&gt;、&lt;set&gt;、&lt;map&gt;、&lt;memory&gt;、&lt;numeric&gt;、&lt;queue&gt;、&lt;functional&gt;、&lt;stack&gt;和&lt;utility&gt;。文件中主要介绍了...

    STL知识点思维导图

    在C++标准中,STL被组织为下面的几个头文件:&lt;string&gt;、&lt;vector&gt;、&lt;list&gt;、&lt;deque&gt;、&lt;algorithm&gt;、&lt;iterator&gt;、&lt;set&gt;、&lt;map&gt;、&lt;memory&gt;、&lt;numeric&gt;、&lt;queue&gt;、&lt;functional&gt;、&lt;stack&gt;和&lt;utility&gt;。文件中主要介绍了...

    java中List、Array、Map、Set等集合相互转换

    Set&lt;String&gt; targetSet = new HashSet&lt;&gt;(sourceMap.values()); ``` 这里,我们首先创建了一个 Map,然后使用 map.values() 方法将 Map 转换为 Set。 Java 中的集合类型转换非常灵活,掌握这些方法可以帮助我们更好...

    struts 标签 logic:iterate使用 logic:iterate

    DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;&lt;br&gt;&lt;html&gt;&lt;br&gt; &lt;head&gt;&lt;br&gt; &lt;/head&gt;&lt;br&gt; &lt;body&gt;&lt;br&gt; &lt;table&gt;&lt;br&gt; &lt;tr&gt;&lt;br&gt; &lt;td&gt;&lt;%@ include file="../menu.txt"%&gt;&lt;br&gt; &lt;/td&gt;&lt;br&gt; &lt;/tr&gt;...

    Lambda表达式学习[定义].pdf

    在MyList&lt;T&gt;中,我们定义了一个内部的List&lt;T&gt;属性,并提供了JoinOut()方法来连接所有元素,用指定的分隔符(在这个例子中是`&lt;BR&gt;`)进行间隔。 ```csharp public class MyList&lt;T&gt; { public List&lt;T&gt; _List { get; ...

    java集合某个字段按照中文拼音排序.docx

    List&lt;String&gt; list = new ArrayList&lt;String&gt;(); list.add("你"); list.add("好"); list.add("啊"); Collections.sort(list, new Comparator&lt;String&gt;() { @Override public int compare(String o1, String o2) { ...

    List,Set和Map遍历读取[归类].pdf

    List&lt;String&gt; list = new ArrayList&lt;String&gt;(); list.add("item1"); list.add("item2"); Iterator&lt;String&gt; iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); ...

    C#数组中List, Dictionary的相互转换问题

    将数组转换为List 将List转换为数组 将数组转换为Dictionary 将Dictionary 转换为数组 将List转换为Dictionary 将Dictionary转换为List 首先这里定义了一个“Student”的类,它有三个自动实现属性。 class ...

    The Art of Assembly Language Programming

    The 80x86 MOV Instruction&lt;br&gt;4.8 - Some Final Comments on the MOV Instructions&lt;br&gt;&lt;br&gt;4.9 Laboratory Exercises&lt;br&gt;4.9.1 The UCR Standard Library for 80x86 Assembly Language Programmers&lt;br&gt;4.9.2 ...

    Java测试题2答案

    &lt;br&gt; }&lt;br&gt;}&lt;br&gt;&lt;br&gt;答案::填空第1题&lt;br&gt;x=10,a=3,b=4,c=5&lt;br&gt;填空第2题&lt;br&gt;java.util&lt;br&gt;填空第3题&lt;br&gt;(public )(static )(void)(main)(String args[])&lt;br&gt;填空第4题&lt;br&gt;1&lt;br&gt;填空第5题&lt;br&gt;

    Java泛型使用详细分析.pdf

    我们可以使用泛型来指定集合中元素的类型,例如 `List&lt;String&gt;`、`Set&lt;Integer&gt;`等。这样可以避免类型转换错误,并提高代码的可读性和安全性。 四、泛型语法 泛型语法主要包括两个方面:类型参数和类型参数绑定。...

    对DAO编写单元测试源代码

    &lt;br&gt; }&lt;br&gt;&lt;br&gt; @SuppressWarnings("unchecked")&lt;br&gt; public boolean updateResetPassword(User user, String ticket, String password) {&lt;br&gt; if(!password.matches(User.REGEX_PASSWORD))&lt;br&gt; return false;&lt;br&gt; ...

    Visual C++ 编程资源大全(英文控件)

    1,01.zip&lt;br&gt;Toolbar - Custom status messages and tooltips&lt;br&gt;用户状态信息与工具提示(3KB)&lt;END&gt;&lt;br&gt;2,02.zip&lt;br&gt;Remove system menu from floating toolbar&lt;br&gt;从浮动工具条中去除系统菜单(2KB)&lt;END&gt;&lt;br&gt;3,03....

    mysql+jdbc+jsp+Hibernate3.2+tomcattomcat5.028成功测试

    table="events"&gt;&lt;br&gt; &lt;id name="id" column="EVENT_ID"&gt;&lt;br&gt; &lt;generator class="native"/&gt;&lt;br&gt; &lt;/id&gt;&lt;br&gt; &lt;property name="date" type="timestamp" column="EVENT_DATE"/&gt;&lt;br&gt; &lt;property name="title"/&gt;&lt;br&gt; &lt;/class...

    dom4j

    &lt;br&gt;&lt;br&gt; }&lt;br&gt;&lt;br&gt;&lt;br&gt; /**&lt;br&gt;&lt;br&gt; * 格式化XML文档,并解决中文问题&lt;br&gt;&lt;br&gt; * @param filename&lt;br&gt;&lt;br&gt; * @return&lt;br&gt;&lt;br&gt; */&lt;br&gt;&lt;br&gt; public int formatXMLFile(String filename){&lt;br&gt;&lt;br&gt; int returnValue = 0;...

Global site tag (gtag.js) - Google Analytics