一直往下get的map

一直往下get的map

文档:一直往下get的map.note

链接:http://note.youdao.com/noteshare?id=7b6d315d86ce9e5f8d7cac9be8e924b8\&sub=95F9FFDA8EB447BBA506286E261F4C88
添加链接描述

java 复制代码
package com.example.demo.entity;

import org.bson.Document;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import top.starp.util.MapUtil;

import java.util.*;

//HashMap<String ,Object>
//extends Map<? ,?>
// HashMap<? ,?>
// extends HashMap<String ,Object>
public class TableDataItem
        extends HashMap<String ,Object>
        implements
         Map<String, Object>,java.io.Serializable {
//    Object g(Object key){
//        Object o = get(key);
//        return  o;
//    }

   public TableDataItem(){
//       Document
    }

   public TableDataItem get(String ...keys){
       return  get(this,keys);
//        TableDataItem tableDataItem=this;
//        for (String key : keys) {
//            tableDataItem= tableDataItem.getNext(key);
//        }
//        return tableDataItem;
    }


    public TableDataItem get(String keys){
        return  get(this,keys);
    }

    public static TableDataItem get(TableDataItem tableDataItem,String ...keys){
//        TableDataItem tableDataItem=this;
        for (String key : keys) {
            tableDataItem= tableDataItem.getNext(key);
        }
        return tableDataItem;
    }

    public static TableDataItem get(TableDataItem tableDataItem,String keys){
        String[] split = keys.split("\\.");
       return get(tableDataItem,split);
//        TableDataItem tableDataItem=this;
//        for (String key : split) {
//            tableDataItem= tableDataItem.getNext(key);
//        }
//        return tableDataItem;
    }

    public static Map<String, Object> getMap(Map<String, Object> mapNoType, Object key) {
        Map<String, Object> data = (Map<String, Object>) mapNoType.get(key);
//        data.get
        return data;
    }
   public static TableDataItem of(String key, Object value){
        TableDataItem tableDataItem = new TableDataItem();
        Object put = tableDataItem.put(key, value);
        return tableDataItem;
    }

    public static TableDataItem of(Map<String ,Object>map){
        TableDataItem tableDataItem = new TableDataItem();
        tableDataItem.putAll(map);
//        Object put = tableDataItem.put(key, value);
        return tableDataItem;
    }

    public static List<TableDataItem> of( List< Map<String ,Object>> map){
       List<TableDataItem>tableDataItems=new ArrayList<>();
        for (Map<String, Object> stringObjectMap : map) {
            TableDataItem tableDataItem = new TableDataItem();
            tableDataItem.putAll(stringObjectMap);
            tableDataItems.add(tableDataItem);
        }
//        TableDataItem tableDataItem = new TableDataItem();
//        tableDataItem.putAll(map);
        Object put = tableDataItem.put(key, value);
        return tableDataItems;
    }

    public static void main(String[] args) {
//        TableDataItem.p
        TableDataItem tableDataItem2 = new TableDataItem();
//        tableDataItem2.
        TableDataItem tableDataItem = new TableDataItem();
//        tableDataItem.put("1",new TableDataItem());
        tableDataItem.put("1",TableDataItem.of("2","3131"));
        /**
         * tableDataItem1
         * {2=3131}
         */
//        TableDataItem tableDataItem1 = tableDataItem.get("1");
        TableDataItem tableDataItem1 = tableDataItem.getNext("1");
        System.out.println("tableDataItem1");
        System.out.println(tableDataItem1);
    }

  
//    @Override
    public TableDataItem getNext(Object key) {
        HashMap <String ,Object> next= (HashMap<String ,Object>)  super.get(key);
        TableDataItem tableDataItem = new TableDataItem();
        tableDataItem.putAll(next);
        return  tableDataItem;
//        return  (TableDataItem) super.get(key);
    }

    public TableDataItem g(Object key) {
        return getNext(key);

    }
    public String getStr(String key) {

        String string = MapUtil.getString(this, key);
        return string;

    }

    

    Map<?, ?> getMap(Object key){
        Map<?, ?> map = MapUtil.getMap(this, key);
        return  map;
    }

/
//        return 0;
}

 @ApiOperation(value = "tableDataItemShow", notes = "walking")
    @RequestMapping(value = "/tableDataItemShow", method = RequestMethod.POST)
  public   Object tableDataItemShow(@RequestBody TableDataItem tableDataItem){

        log.info("tableDataItem {}",tableDataItem);
//        creator

//        TableDataItem haha = tableDataItem.get(k.creator).get("xixi").get("haha");
//        TableDataItem haha = tableDataItem.get(k.creator).getN("xixi").get("haha");
        TableDataItem haha = tableDataItem.getNext(k.creator).getNext("xixi").getNext("haha");
        log.info("haha {}",haha);

        /**
         *  tableDataItem2_haha {hoho=1}
         * 2023-08-17 21:24:59.305  INFO 10540 --- [nio-8889-exec-2] c.example.demo.controller.AllController  : tableDataItem1_ll {hoho=1}
         */

        TableDataItem tableDataItem2_haha = tableDataItem.get("creator.xixi.haha");
        log.info("tableDataItem2_haha {}",tableDataItem2_haha);

//        TableDataItem.get
//        TableDataItem tableDataItem1 = TableDataItem.get(tableDataItem, "31", "3131", "313", "3141");
        TableDataItem tableDataItem1_ll = TableDataItem.get(tableDataItem, "creator", "xixi", "haha");
        log.info("tableDataItem1_ll {}",tableDataItem1_ll);

        String str1Hoho = haha.getStr("hoho");
      log.info("str1Hoho {}",str1Hoho);
//        TableDataItem tableDataItem2 = tableDataItem.get(k.creator).get("xixi").get("haha").get("hoho");
//        String str = tableDataItem.get(k.creator).get("xixi").get("haha").getStr("hoho");
        String str = tableDataItem.getNext(k.creator).getNext("xixi").getNext("haha").getStr("hoho");
        log.info("str {}",str);

//        String str1 = tableDataItem.g("da").g("da").g("dada").g("313").getStr("3131");
//        log.info("tableDataItem2 {}",tableDataItem2);
//        log.info("tableDataItem2 {}",tableDataItem2);
//        TableDataItem tableDataItem1 = tableDataItem.get(k.modelPath).get("31").get("31");
//        log.info("tableDataItem1 {}",tableDataItem1);
        return tableDataItem;
    }
相关推荐
烂蜻蜓35 分钟前
前端已死?什么是前端
开发语言·前端·javascript·vue.js·uni-app
老猿讲编程37 分钟前
安全C语言编码规范概述
c语言·开发语言·安全
陌殇殇44 分钟前
002 SpringCloudAlibaba整合 - Feign远程调用、Loadbalancer负载均衡
java·spring cloud·微服务
猎人everest2 小时前
SpringBoot应用开发入门
java·spring boot·后端
山猪打不过家猪4 小时前
ASP.NET Core Clean Architecture
java·数据库·asp.net
AllowM4 小时前
【LeetCode Hot100】除自身以外数组的乘积|左右乘积列表,Java实现!图解+代码,小白也能秒懂!
java·算法·leetcode
Biomamba生信基地4 小时前
两天入门R语言,周末开讲
开发语言·r语言·生信
RAN_PAND4 小时前
STL介绍1:vector、pair、string、queue、map
开发语言·c++·算法
Bio Coder4 小时前
R语言安装生物信息数据库包
开发语言·数据库·r语言
Tiger Z4 小时前
R 语言科研绘图第 27 期 --- 密度图-分组
开发语言·程序人生·r语言·贴图