commons之集合与队列JAVA140
2015-12-13 17:40
399 查看
来源:http://www.bjsxt.com/
1、S02E140_01commons之集合与队列
1、S02E140_01commons之集合与队列
package com.test.commons; import java.util.Collection; import java.util.HashSet; import java.util.Set; import org.apache.commons.collections4.CollectionUtils; /** * 集合操作 * 1.并集 * CollectionUtils.union * 2.交集 * CollectionUtils.intersection * CollectionUtils.retainAll * 3.差集 * CollectionUtils.subtract */ public class TestSetOper { public static void main(String[] args) { Set<Integer> set1 = new HashSet<Integer>(); set1.add(1); set1.add(2); set1.add(3); Set<Integer> set2 = new HashSet<Integer>(); set2.add(2); set2.add(3); set2.add(4); System.out.println("===========并集==================="); Collection<Integer> col = CollectionUtils.union(set1, set2); System.out.println(col);//[1, 2, 3, 4] System.out.println("===============交集================="); col = CollectionUtils.intersection(set1, set2);//或者使用retainAll System.out.println(col);//[2, 3] System.out.println("==========差集==================="); col = CollectionUtils.subtract(set1, set2); System.out.println(col);//[1] } }
package com.test.commons; import java.util.Queue; import org.apache.commons.collections4.Predicate; import org.apache.commons.collections4.functors.NotNullPredicate; import org.apache.commons.collections4.queue.CircularFifoQueue; import org.apache.commons.collections4.queue.PredicatedQueue; import org.apache.commons.collections4.queue.UnmodifiableQueue; /** * Queue队列 * 1.循环队列 * new CircularFifoQueue<类型>() * 2.只读队列 * UnmodifiableQueue.unmodifiableQueue(队列) * 3.断言队列 * PredicatedQueue.predicatedQueue(队列,断言) */ public class TestQueue { public static void main(String[] args) { TestCircular(); TestReadOnly(); TestPredicate(); } public static void TestCircular(){ System.out.println("======循环队列====================="); CircularFifoQueue<String> que = new CircularFifoQueue<String>(2); que.add("a"); que.add("b"); System.out.println(que);//[a, b] que.add("c"); System.out.println(que);//[b, c]/先进先出,a出c进 } public static void TestReadOnly(){ System.out.println("======只读队列====================="); CircularFifoQueue<String> que = new CircularFifoQueue<String>(2); que.add("a"); que.add("b"); //包装成对应的只读队列 Queue<String> readOnlyQue = UnmodifiableQueue.unmodifiableQueue(que); //readOnlyQue.add("c");//java.lang.UnsupportedOperationException } public static void TestPredicate(){ System.out.println("======断言队列====================="); CircularFifoQueue<String> que = new CircularFifoQueue<String>(2); que.add("a"); que.add("b"); Predicate notNull = NotNullPredicate.INSTANCE; //包装成对应的断言队列 Queue<String> predicateQue = PredicatedQueue.predicatedQueue(que, notNull); //predicateQue.add(null);//java.lang.IllegalArgumentException } }
相关文章推荐
- Spring-Aop详细教程
- JAVA设计原则
- Java开发中的23种设计模式详解
- Spring 框架的架包分析、功能作用、优点
- JAVA中内部类和匿名内部类的区别,分别在什么时候使用它们?
- JAVA中抽象类与接口的区别,分别在什么情况下使用它们
- spring4.0 源码分析 bean标签的解析(三)
- JAVA中接口存在的意义
- 浅谈Java中的equals和==
- Java 多线程(四)线程间的通信jdk1.5中Lock,Condition----各种锁的相关详细概念
- Java并发编程:如何创建线程?
- Java虚拟机(三)编译子系统
- Java并发编程:进程和线程之由来
- java对获取的字节数组进行处理
- 根据java的设计原则、设计模式实现了一个信息发送和接收的例子
- Spring AOP 详解
- SpringMVC中WebDataBinder的应用及原理
- java---之 反射
- Java Web 案例1 -- IO,JDBC
- JAVA wait(), notify(),sleep详解