- 浏览: 304235 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (405)
- linux (31)
- java (144)
- mysql (52)
- html (19)
- oracle (8)
- sql (12)
- 无题 (5)
- js (16)
- android (4)
- tomcat (4)
- struts (2)
- spring (12)
- elcipse (2)
- shell (7)
- interview (2)
- redis (6)
- apache (2)
- maven (10)
- mq (6)
- kengen (0)
- windows (3)
- css (1)
- nginx (2)
- google (1)
- zk (1)
- ibm (1)
- git (1)
- mvn (1)
- jms (1)
- uml (1)
最新评论
/** ** List删除元素 ** 方法1使用了HashSet ** 方法2需要多层循环 ** 貌似方法1快些 **/ package net; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; public class MyList { public static void main(String[] args) { MyList myList = new MyList(); long start = System.currentTimeMillis(); myList.testCase2(); long now = System.currentTimeMillis(); System.err.println(now - start); start = System.currentTimeMillis(); myList.testCase1(); now = System.currentTimeMillis(); System.err.println(now - start); } public void testCase2() { List<Name> list = initData(); List<String> exclude = new ArrayList<String>(); exclude.add("1"); exclude.add("5"); exclude.add("6"); List<Name> delete = new ArrayList<Name>(); for (String s : exclude) { for (Name n : list) { if (n.id.equals(s)) { delete.add(n); } } } list.removeAll(delete); // displayResult(list); } public void testCase1() { List<Name> list = initData(); // 1,5,6 List<String> exclude = new ArrayList<String>(); exclude.add("1"); exclude.add("5"); exclude.add("6"); HashSet<String> hs = new HashSet<String>(); for (String s : exclude) { hs.add(s); } Iterator<Name> it = list.iterator(); while (it.hasNext()) { Name n = it.next(); if (!hs.add(n.id)) { it.remove(); } } // displayResult(list); } public List<Name> initData() { List<Name> list = new ArrayList<Name>(); for (int i = 0; i < 10; i++) { Name n = new Name(); n.id = "" + i; list.add(n); } return list; } public void displayResult(List<Name> list) { for (Name n : list) { System.err.println(n.id); } } } class Name { String id; String name; }
发表评论
-
adfasdfsdf
2017-03-23 08:38 502package com.twsz.creative.elv ... -
经典技术书籍
2016-12-08 11:00 423这个列表包括了 100 多本经典技术书籍,涵盖:计算机系统 ... -
分割字符串
2016-11-18 18:57 508@Test public void test2() { ... -
BD音乐部分接口
2016-11-15 15:45 685歌曲ID 详细信息接口:http://tingapi.ti ... -
限速器
2016-09-30 16:28 493package test.date; import ... -
Maven SCOPE
2016-09-29 23:34 391在Maven的依赖管理中, ... -
Twitter snowFlake
2016-09-19 22:22 418package com.netty.test.netty4 ... -
Spring BOOT生成web项目
2016-08-29 17:46 806https://github.com/spring-pro ... -
获取IP地址
2016-08-29 17:31 582import java.net.Inet4Address; ... -
Java Performance Tuning Guide
2016-08-29 15:14 339http://java-performance.info/ ... -
Nexus
2016-08-26 00:51 4132、创建解压目录,并将apache-maven-3.0-b ... -
Chain
2016-08-25 12:25 359public static void main(Strin ... -
Spring Boot
2016-08-23 12:50 518package com; import org.sp ... -
JAVA Seriesization
2016-08-16 15:28 516http://www.th7.cn/Program/And ... -
字节码
2016-08-12 19:42 479http://www.blogjava.net/libin ... -
回调在JSMTemplate的位置
2016-08-11 21:55 325package test; public class ... -
原生activeMQ支持
2016-08-10 20:40 428http://www.cnblogs.com/xwdrea ... -
activeMQ
2016-08-09 13:06 393http://www.open-open.com/lib/ ... -
logback
2016-08-05 10:45 485logback logback.xml常用配置详解(二)& ... -
uml
2016-08-03 21:32 361UML建模语言7种图(以银行ATM系统为例) http: ...
相关推荐
以下将详细介绍如何在C#中遍历List并删除元素,包括正序和倒序遍历的技巧。 首先,我们来看一下错误的遍历方式。通常,开发者可能会本能地使用for循环来遍历List,如下所示: ```csharp for (int i = 0; i < list....
本篇文章主要探讨的是在使用STL list时遇到的遍历删除元素过程中常见的错误及其解决方案。 错误用法通常出现在尝试同时遍历和删除list中的元素时。以下是三种常见的错误做法: 1. 错误用法一: 在这个例子中,迭代...
在这个例子中,我们尝试通过for循环遍历列表`a`并逐个删除元素。但结果并不是我们期望的清空列表,而是只留下了2、4和6这三个元素。这是因为在迭代过程中,当我们删除一个元素时,列表的索引会重新排列,导致原本...
List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢。使用时需要添加头文件 #include <list> 二、List定义和初始化: list<int>lst1; //创建空list list<int> lst2...
在JavaScript中,原生提供的`splice()`方法是一种常用的方式,它通过指定的索引位置来删除元素。然而,在某些情况下,使用`splice()`方法可能会得到不符合预期的结果,比如在原数组上直接修改,返回被删除的元素,而...
本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下: 我们以下面这个list为例,删除其中所有值为6的元素: l=[9,6,5,6,6,7,8,9,6,0] 首先尝试remove方法: l.remove(6) ...
本文实例讲述了Python实现列表删除重复元素的三种常用方法。分享给大家供大家参考,具体如下: 给定一个列表,要求删除列表中重复元素。 listA = ['python','语','言','是','一','门','动','态','语','言'] 方法1...
删除List中的重复值 方法一:循环元素删除 // 删除ArrayList中重复元素 public static void removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j = list.size() - ...
要找出在第二个List中已被删除的元素,我们可以通过将第一个List的元素移除掉在第二个List中存在的元素来实现: ```java list1.removeAll(list2); ``` `list1`现在只包含在第二个List中被删除的元素。 4. **...
HashMap和List遍历方法及如何遍历删除元素总结 HashMap和List都是Java中最常用的数据结构,它们都可以用来存储和操作数据。然而,在遍历和删除元素时,需要小心地处理,以免出现问题。下面总结了HashMap和List的...
总结一下,使用 `list` 的 `remove()` 方法删除结构体成员(对象实例)的关键在于找到要删除的元素,并根据其唯一的标识进行匹配。在实际编程中,我们还需要考虑到异常处理和对原列表的影响,以及选择合适的删除策略...
- **remove()**:从List删除元素。 - **remove_if()**:按条件删除元素。 - **rend()**:返回指向List开始前的逆向迭代器。 - **resize()**:改变List的大小。 - **reverse()**:反转List中的元素顺序。 - **size()*...
在实际应用中,直接在循环中删除元素可能会导致一些问题,例如,删除项后,原先的索引可能不再有效,导致逻辑错误。为了解决这个问题,通常有两种方法: - **逆序删除**:即从列表的末尾开始向前删除,这样可以避免...
在foreach中删除元素时,每一次删除都会导致集合的大小和元素索引值发生变化,从而导致在foreach中删除元素时会抛出异常。 集合已修改;可能无法执行枚举操作。 方法一:采用for循环,并且从尾到头遍历 如果...
本文将深入探讨这个问题,并提供一个关于如何在删除元素时避免迭代器失效的示例。 首先,我们需要理解迭代器是什么。迭代器是C++中的一种特殊指针,它用于遍历和访问容器中的元素。对于`std::list`,迭代器提供了...
- **注意**:必须使用Iterator的`remove()`方法删除元素,而不是直接调用List的`remove()`方法,否则依然会抛出`ConcurrentModificationException`。 总结,遍历删除List元素时,推荐使用Iterator,因为它提供了...
这里我们将详细讨论几种不同的循环遍历和删除元素的方法,以及它们的适用场景。 1. **常规for循环**: ```java for (int i = 0; i < list.size(); i++) { if (list.get(i).equals("del")) { list.remove(i); }...