`
man
  • 浏览: 5788 次
  • 性别: 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;...

    将类中的List<String>改为proarrayList<product> proarray ,过程代码

    ArrayList&lt;Product&gt; productList = new ArrayList&lt;&gt;(); for (String id : stringList) { Product product = new Product(id, "defaultName", 0.0); // 假设默认的name和price productList.add(product); } /...

    c# List类排序方法

    `List&lt;T&gt;`类中包含一个名为`Sort`的方法,用于对List中的元素进行排序。`Sort`方法有多个重载版本,其中最简单的一个是不带任何参数的版本`List&lt;T&gt;.Sort()`。 然而,在尝试使用`Sort()`方法对`List&lt;Student&gt;`进行...

    C# 解析json格式数据为IList

    例如,如果你有一个JSON数组,你可能希望将其解析为`IList&lt;string&gt;`或`IList&lt;MyCustomClass&gt;`,具体取决于JSON数据的内容。 C#中解析JSON通常使用的是Json.NET库,这是一个非常流行且功能强大的开源库,可以方便地...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    Map&lt;String, String&gt; result = new HashMap&lt;&gt;(); NodeList nodeList = root.getChildNodes(); for (int i = 0; i &lt; nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == ...

    Java操作Redis,实现String、List、Map的set和get

    public static List&lt;String&gt; getList(String key) { return jedis.lrange(key, 0, -1); } ``` 这里,`rpush`将元素添加到列表尾部,`lrange`则返回列表中的所有元素。 **操作Map** Redis中没有直接支持Map的命令...

    C#List字典Dictionary泛型集合实例,源码

    例如,你可以创建一个`HashSet&lt;int&gt;`来存储不重复的整数,`Add`方法会自动忽略已存在的元素,`Contains`方法则用于检查某个元素是否存在于集合中。 在实际编程中,这些集合类的源码可以帮助我们理解它们的内部实现...

    C#源码 字符串数组的动态添加,查找,删除

    HashSet&lt;string&gt; uniqueSet = new HashSet&lt;string&gt;(stringList); stringList = new List&lt;string&gt;(uniqueSet); ``` 拷贝列表通常通过`List&lt;T&gt;.ToList()`方法实现,这会创建一个与原列表独立的新列表: ```csharp ...

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

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

    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) { ...

    IList排序(C#)

    - 如果元素类型不实现`IComparable&lt;T&gt;`,或者需要更复杂的排序规则,可以创建一个实现`IComparer&lt;T&gt;`接口的类,然后将其作为参数传递给`Array.Sort()`或`List&lt;T&gt;.Sort()`方法。例如,对一个包含用户对象的列表按...

    List<Bean>转JasonStringer

    在Java编程中,将`List&lt;Bean&gt;`转换成`JsonString`是一项常见的任务,尤其是在处理数据交换或存储时。这个过程通常涉及到对象序列化,即将Java对象转换为JSON格式的字符串,以便在网络间传输或者存储在文件中。下面将...

    java List、Set与Array之间的相互转换

    Set&lt;String&gt; set = new HashSet&lt;&gt;(list); ``` - **Set转List**: 将Set转换为List,可以先创建一个新的ArrayList,然后通过迭代Set并添加到ArrayList来完成: ```java Set&lt;String&gt; set = ...; List&lt;String&gt; ...

    Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)

    本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`&lt;s:iterator&gt;`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...

    java中List对象列表实现去重或取出及排序的方法

    Set&lt;Student&gt; set = new HashSet&lt;&gt;(list); list.clear(); list.addAll(set); ``` 3. 使用Java 8的Stream API去重 Java 8中引入了Stream API,可以使用Stream API来去重List对象列表。 ```java List&lt;Student&gt; list...

    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;。文件中主要介绍了...

    6种方法初始化JAVA中的list集合

    List&lt;String&gt; languages = new ArrayList&lt;&gt;(); languages.add("Java"); languages.add("PHP"); languages.add("Python"); System.out.println(languages); ``` 2. 使用Arrays工具类 Arrays类提供了asList()静态方法...

Global site tag (gtag.js) - Google Analytics