我是靠谱客的博主 幸福钥匙,最近开发中收集的这篇文章主要介绍【Java】guava(三) Range类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

关于Api之类的就不介绍了,贴一个例子:

        Range<Integer> a1 = Range.closed(0,1);
        System.out.println(a1);
        Range<Integer> a2 = Range.open(0,1);
        System.out.println(a2);
        Range<Integer> a3 = Range.openClosed(0,1);
        System.out.println(a3);
        Range<Integer> a4 = Range.closedOpen(0,1);
        System.out.println(a4);
        Range<Integer> a5 = Range.atLeast(0);
        System.out.println(a5);
        Range<Integer> a6 = Range.greaterThan(0);
        System.out.println(a6);
        Range<Integer> a7 = Range.atMost(0);
        System.out.println(a7);
        Range<Integer> a8 = Range.lessThan(0);
        System.out.println(a8);

输出:

[0‥1]
(0‥1)
(0‥1]
[0‥1)
[0‥+∞)
(0‥+∞)
(-∞‥0]
(-∞‥0)

我们可以使用这个判定是否包含一个元素或者区间之间的操作,如交集,并集等。

 

这里介绍另外一个有关的应用,RangMap:

        RangeMap<Integer, String> level = TreeRangeMap.create();
        level.put(Range.closed(90,100), "A");
        level.put(Range.closedOpen(80,90), "B");
        level.put(Range.lessThan(80), "C");

        System.out.println(level.get(95));
        System.out.println(level.get(85));
        System.out.println(level.get(75));

我们可以使用Range来作为检索数据的key。

        RangeMap<Integer, String> level = TreeRangeMap.create();
        level.put(Range.closed(90,100), "A");
        level.put(Range.closedOpen(80,90), "B");
        level.put(Range.lessThan(80), "C");

        System.out.println(level.get(95));
        System.out.println(level.get(85));
        System.out.println(level.get(75));

guava中的Range工具类可以方便处理区间相关的问题,尤其适合与规则或者等级有关的业务逻辑,值得使用一哈。

最后

以上就是幸福钥匙为你收集整理的【Java】guava(三) Range类的全部内容,希望文章能够帮你解决【Java】guava(三) Range类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部