List 的一个有用的高效的操作 removeAll

如果有多个list集合,那么 使用 removeAll 可以快速的删除另外一个集合的内容:

        List<String> list1 = new ArrayList<String>();
        list1.add("11");
        list1.add("22");
        list1.add("33");
        list1.add("44");

        List<String> list2 = new ArrayList<String>();
        list2.add("1");
        list2.add("33");
        list2.add("22");
        list2.add("4");
        list1.removeAll(list2);
        System.out.println(list1); 

// 结果 [11, 44] 

这里, 其实jdk 内部操作是: 先做一个遍历/比较,然后再删除。 相当于是先取出 list1 / list2 的交集X, 然后从list1 , 逐个删除 X的元素。

时间: 2024-08-02 13:21:34

List 的一个有用的高效的操作 removeAll的相关文章

解决iPhone上select时常失去焦点,随意跳到下一个输入框,影响用户操作

window.addEventListener('load', function() { FastClick.attach(document.body); }, false); //300s延迟,解决iPhone上select时常失去焦点,随意跳到下一个输入框,影响用户操作 结合fastclick.min.js使用

IOTutility 一个轻量级的 IOT 基础操作库

目录 IOTutility 一个轻量级的 IOT 基础操作库 1. 为什么要写一个 IOT 编程库? 2. IOTutility 具有什么功能? 3. IOTutility 有什么特点 IOTutility 实现了哪些功能 MQTT protocol implement MQTT 实现 1. 创建一个 MQTT_Session 2. 连接到服务器 3. 订阅感兴趣的主题 4. 可以通过 Publish 接口直接上传消息给服务器 如何使用 1. 下载代码 2. 编译代码库 3. 编译示例程序并执行

浅谈如何打造一个安全稳定高效的容器云平台

本文介绍了容器的现状和发展趋势,容器集群编排引擎选型,跨主机网络通信,定制化方案,公有云,私有云及混合云的场景及实现等内容,说明如何打造简单而强大的容器云平台. 1. 容器技术现状及发展趋势 什么是容器? 我们可以将容器理解为一种沙盒,每个容器具有独立的操作系统资源,不同的容器之间相互隔离,也可以建立通信,应用跑在各自的容器中,避免了环境中有冲突的资源使用,做到一次封装,到处运行. 那容器与虚拟机的区别在哪? 容器可以看做轻量的虚拟机,虚机启动可能需要数分钟或者更长,而容器只需几十毫秒.传统虚拟

用php实现一个简单的链式操作

最近在读<php核心技术与最佳实践>这本书,书中第一章提到用__call()方法可以实现一个简单的字符串链式操作,比如,下面这个过滤字符串然后再求长度的操作,一般要这么写: strlen(trim($str)); 那么能否实现下面这种写法呢? $str->trim()->strlen(); 下面就来试下. 链式操作,说白了其实就是链式的调用对象的方法.既然要实现字符串的链式操作,那么就要实现一个字符串类,然后对这个类的对象进行调用操作.我对字符串类的期望如下:(1)当我创建对象时,

一个有用的python装饰器 -- 为执行程序加锁

最近在写python项目的时候遇到一个问题 有这样一个python脚本: 1 脚本功能  A 监控网卡的实时流量,如果该流量超过设定阀值就去增加带宽(购买带宽包) B 脚本放在 crontab 中,并且是每分钟执行一次 2  遇到问题 在执行脚本的过程中,如果一分钟内该程序没有执行完,就可能会有两个相同的代码同时执行,导致的问题是 会同时购买两次带宽包,这样会造成资源的浪费. 3  解决思路 A  可以调整crontab,增加代码执行的时间(治标不治本) B  为该程序加锁,同一时间只允许运行一

一个简单的数组类操作

要求定义一个数组类,动态分配数组大小,并实现反转与排序操作. 代码如下: class Array { private int a[] = null; private int foot=0; public Array(int len) { if (len > 0) this.a = new int[len]; else this.a = new int[1]; } public boolean add(int i){ if(this.foot<this.a.length){ this.a[foo

一个自定义的C#数据库操作基础类 SqlHelper

SqlHelper其实是我们自己编写的一个类,使用这个类目的就是让使用者更方便.更安全的对数据库的操作,既是除了在SqlHelper类以外的所有类将不用引用对数据库操作的任何类与语句,无须担心数据库的连接与关闭的问题.转自:http://blog.csdn.net/dandanzmc/article/details/9345937 { public class SQLHelper { private string strConn = null; private SqlConnection Con

关于一个需求引发的事务操作和锁-记录解决过程和思路

参考资料: http://openwares.net/java/spring_mybatis_transaction.htmlspring,mybatis事务管理配置与@Transactional注解使用 http://www.cnblogs.com/mingxuan/archive/2011/10/11/2207560.html锁行还是锁表的实践验证 http://blog.csdn.net/hushanfeng110/article/details/50174787使用mybatis 实现乐

如何成为一个偷懒又高效的Android开发人员

我敢肯定你对这个标题肯定心存疑惑,但事实就是如此,这个标题完全适合Android开发人员.据我所知, Android程序员不情愿写 findViewById().点击事件监听等重复率较高的代码.那我们如何才能缩短编写业务逻辑代码的时间,并且避免写那些重复的代码呢?所以让我们来成为一个能偷懒又有高效率的Android程序员.想知道怎么做吗?不用急,接下来我就会写到. 有许多第三方的库.框架和解决方案可供我们使用.出于种种原因,我们并不知道这些库或者知道但还没用过.有的开发者开发了自己定义的库或者并