zoukankan      html  css  js  c++  java
  • 针对list<object>中的对象数据的一些简单处理

    一    首先创建一个实体类(PersonData ):

    package hello;

    public class PersonData {
      String Id;
      String Name;
      String Type;
      int Age;
      public String getId() {
        return Id;
      }
      public void setId(String id) {
        Id = id;
      }
       public String getName() {
        return Name;
      }
      public void setName(String name) {
        Name = name;
      }
      public String getType() {
        return Type;
      }
      public void setType(String type) {
        Type = type;
      }
      public int getAge() {
        return Age;
      }
      public void setAge(int age) {
        Age = age;
      }
      @Override
      public String toString() {
        return "PersonData [Id=" + Id + ", Name=" + Name + ", Type=" + Type + ", Age=" + Age + "]";
      }
    }

    二   下面就是针对list的一些简单处理:

    package hello;

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    import java.util.stream.Collectors;

    public class test {
      public static void main(String[] args) {
        List<PersonData> list = new ArrayList<PersonData>();
        PersonData p1 = new PersonData();
        p1.setId("1");
        p1.setName("张三");
        p1.setType("管理员");
        p1.setAge(20);
        list.add(p1);

        PersonData p2 = new PersonData();
        p2.setId("2");
        p2.setName("李四");
        p2.setType("管理员");
        p2.setAge(30);
        list.add(p2);

        PersonData p3 = new PersonData();
        p3.setId("3");
        p3.setName("王五");
        p3.setType("用户");
        p3.setAge(40);
        list.add(p3);

        // 跟据某个属性分组
        Map<String, List<PersonData>> collect = list.stream().collect(Collectors.groupingBy(PersonData::getType));
        System.out.println(collect);

        // 根据某个属性分组,汇总某个属性
        Map<String, Integer> collect2 = list.stream().collect(Collectors.groupingBy(PersonData::getType, Collectors.summingInt(PersonData::getAge)));
        System.out.println(collect2);

        // 根据某个属性添加条件过滤数据,
        list = list.stream().filter(u -> !u.getType().equals("访客")).collect(Collectors.toList());
        System.out.println(list);

        // 判断一组对象里面有没有属性值是某个值
        boolean add = list.stream().anyMatch(m -> "王五".equals(m.getName()));
        System.out.println(add);

        // 取出一组对象的某个属性组成一个新集合
        List<String> names = list.stream().map(PersonData::getName).collect(Collectors.toList());
        System.out.println(names);
      }
    }

  • 相关阅读:
    BZOJ 1565: [NOI2009]植物大战僵尸
    BZOJ 1617: [Usaco2008 Mar]River Crossing渡河问题
    BZOJ 2820: YY的GCD
    数论模版-欧拉函数、莫比乌斯函数和素数
    BZOJ 2818: Gcd
    BZOJ 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
    BZOJ 1614: [Usaco2007 Jan]Telephone Lines架设电话线
    BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
    BZOJ 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
    Unity5.3.4版本打包APk,安卓识别不了 Application.systemLanguage
  • 原文地址:https://www.cnblogs.com/czq520/p/11647548.html
Copyright © 2011-2022 走看看