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);
      }
    }

  • 相关阅读:
    把影响集中到一个点
    How to avoid Over-fitting using Regularization?
    适定性问题
    Numerical Differentiation 数值微分
    What Every Computer Scientist Should Know About Floating-Point Arithmetic
    Generally a good method to avoid this is to randomly shuffle the data prior to each epoch of training.
    What is the difference between iterations and epochs in Convolution neural networks?
    Every norm is a convex function
    Moore-Penrose Matrix Inverse 摩尔-彭若斯广义逆 埃尔米特矩阵 Hermitian matrix
    perl 类里的函数调用其他类的函数
  • 原文地址:https://www.cnblogs.com/czq520/p/11647548.html
Copyright © 2011-2022 走看看