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

原文地址:https://www.cnblogs.com/czq520/p/11647548.html

时间: 2024-10-21 18:29:37

针对list<object>中的对象数据的一些简单处理的相关文章

php中json对象数据的输出转化

php中json对象数据的输出转化 public function get_my_now_citys(){ $datas=$this->_post('datas'); //前台js脚本传递给后端的object对象 if(!$datas){ echo '地址信息获取失败!'; } $latitude=$datas['latitude'];//维度 $longitude=$datas['longitude'];//经度 $rs=$this->get_my_addr_infos($longitude

PHP学习笔记:在php中访问MySQL数据(一些简单的例子)

说明:代码来源<PHP和MySQL Web应用开发>一书,还有就是代码有些是经过修改的,经过我的测验全部都可以用 这是数据库部分代码 //创建数据库 create database MySQLDB; //使用数据库 use mysqldb; //向数据库中插入表格 create table Employees(EmpName varchar(50) primary key,DepName varchar(50),Salary integer); //修改列名 alter table emplo

js中的对象数据重载

var opts = $.extend([Boolean,] {}, src1, src2, src3, ...);//重载 var option = { name : 'rose', age : 21, bool : false, another : 'value'}function test(option){ var defaultOpt = { name : 'jack', age : 19, bool : true }; var opts = $.extend({}, defaultOp

java中初始化对象数据域的多种途径以及执行次序

1:默认初始化 如果对类中的变量不进行初始化,系统则会初始化变量为对应的值 比如int = 0, bool = fase              String = null; 2:手动初始化变量 private int age = 23; 3:初始化块 { id = 201245; age  = 23; } 4:构造器初始化 Class Base{ public Base(){ id = 201245; age  = 23; } } 处理步骤为 1:所有数据域,即变量初始化为默认值 2:按照类

Ajax请求php返回json对象数据中包含有数字索引和字符串索引,在for in循环中取出数据的顺序问题

//php中的数组数据格式 Array ( [all] => Array ( [title] => ALL [room_promotion_id] => all ) [best_available_rate] => Array ( [title] => Best Available Rate [room_promotion_id] => best_available_rate ) [30] => Array ( [room_promotion_id] =>

将json对象数据保存到数据库对应的表中

问题描述  如何将json对象数据保存到数据库对应的表中. 分析问题   json数据内容不固定,json数据格式是固定的(name:value),数据库表结构是固定的,在json数据格式 与 数据库表结构之间建立一套对应规则,写一套逻辑解析这套对应规则. 1.json对象对应的数据库表需要确定. 2.json对象的节点对应数据库表的列需要确定. 3.json对象的value类型需要确定下来,才能对value值做相应的操作. 4.数据库表的主键列比较特殊,一般是自增长列,需要确定. 5.数据库记

XML在java或.NET中转为Json的数组或对象数据时的处理

XML在java和.NET中转为Json数据时会出现这样一个问题,当节点中只有一个节点数据时是转换为对象,有多个节点则是转为数组,为了应对这个问题我们需要在解析的时候进行如下的处理,不然就会报异常: 数据1:数组格式 "Field": [                    {                        "@name": "APPROVE",                        "@title"

【转】JavaScript中的对象复制(Object Clone)

JavaScript中并没有直接提供对象复制(Object Clone)的方法.因此下面的代码中改变对象b的时候,也就改变了对象a. a = {k1:1, k2:2, k3:3}; b = a; b.k2 = 4; 如果只想改变b而保持a不变,就需要对对象a进行复制. 用jQuery进行对象复制 在可以使用jQuery的情况下,jQuery自带的extend方法可以用来实现对象的复制. a = {k1:1, k2:2, k3:3}; b = {}; $.extend(b,a); 自定义clone

request中获取post的json对象数据content-type=“text/plain”

其实采用http://www.cnblogs.com/SimonHu1993/p/7295750.html中的方法一都能获取到,就是通过获取request中的流数据,拿到json数据,理论上应该适用各种content-type的请求数据. /** *获取 request 中用POST方式"Content-type"是 * "text/plain"发送的 json数据 * @author: Simon * @date: 2017年8月6日 下午7:44:09 * @p