您的位置:首页 > 编程语言 > Java开发

commons之集合与队列JAVA140

2015-12-13 17:40 399 查看
来源:http://www.bjsxt.com/

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
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: