commons之集合与队列JAVA140

来源: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
    }   
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值