lambdaj 集合操作工具

依赖:
      <dependency>
           <groupId>com.googlecode.lambdaj</groupId>
           <artifactId>lambdaj</artifactId>
           <version>2.3.3</version>
       </dependency>

计算平均值:

    @Test
    public void testAvg() {
        ImmutableList<Integer> list = ImmutableList.of(1,2,3,4,10);
        Number avg = Lambda.avg(list);
        System.out.println(avg);

    }

统计每个元素出现的次数:

    @Test
    public void testCount() {
        ImmutableList<Integer> list = ImmutableList.of(1,2,3,4,10,1,2,3,4);
        Map<Object, Integer> count = Lambda.count(list);
        for(Map.Entry<Object,Integer> entry : count.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }

sort排序:

内部使用的 Collections.sort() 方法进行排序的。

    @Test
    public void testSort() {
        ArrayList<Person> list = new ArrayList<>();
        list.add(new Person(1051,"Tom","123"));
        list.add(new Person(1002,"Jack","123"));
        list.add(new Person(1021,"Ros","123"));
        list.add(new Person(1041,"Pink","123"));
        list.add(new Person(1071,"Jerrt","123"));

        List<Person> sortList = Lambda.sort(list, Lambda.on(Person.class).getId());
        for (Person person : sortList) {
            System.out.println(person);
        }
    }

joinFrom 连接元素

    @Test
    public void testJoinForm() {
        String idStr = Lambda.joinFrom(list).getName();
        String pwdStr = Lambda.joinFrom(list,"-").getPassword();

        System.out.println(idStr);
        System.out.println(pwdStr);
    }

selectMax,selectMin(最大/最小 对象)

    /**
     * 按照某个属性值 最大/最小 的对象
     */
    @Test
    public void testSelectMax() {
        //获取年龄最大的 person 对象
        Person maxIdPer = Lambda.selectMax(list, Lambda.on(Person.class).getId());

        //
        Person minIdPer = Lambda.selectMin(list, Lambda.on(Person.class).getId());

        System.out.println(maxIdPer);
        System.out.println(minIdPer);

    }

获取的是某个属性值最大或最小的对象实例

max、min 获取最大\最小的属性值

    @Test
    public void testMinMax() {
        int maxId = Lambda.max(list,Lambda.on(Person.class).getId());

        String minName = Lambda.min(list,Lambda.on(Person.class).getName());

        System.out.println(maxId);
        System.out.println(minName);
    }

获取的是集合中某个最大或最小的属性值

对集合中某一个属性进行求和运算:

    @Test
    public void testSum() {
        int sumId = Lambda.sum(list,Lambda.on(Person.class).getId());
        int sumFromId = Lambda.sumFrom(list).getId();

        System.out.println(sumId);
        System.out.println(sumFromId);
    }

对集合中某个属性值进行求和运算,可以使用 sum 或 sumFrom 函数。

抽取元素属性组成集合:

    @Test
    public void testExtract() {
        List<String> names = Lambda.extract(list, Lambda.on(Person.class).getName());
        for (String name : names) {
            System.out.println(name);
        }
    }

将集合中某一属性全部取出,单独组成一个集合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值