一直往下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;
    }
相关推荐
Zephyrtoria19 分钟前
区间合并:区间合并问题
java·开发语言·数据结构·算法
你怎么知道我是队长1 小时前
GO语言---匿名函数
开发语言·后端·golang
lansye1 小时前
侃侃AI编程
开发语言·qt·ai编程
uyeonashi3 小时前
【QT】窗口详解
开发语言·c++·qt·学习
Hello eveybody4 小时前
C++介绍整数二分与实数二分
开发语言·数据结构·c++·算法
jmlinux5 小时前
从 C 语言计算器到串口屏应用
c语言·开发语言
yuren_xia5 小时前
RabbitMQ 知识详解(Java版)
java·rabbitmq·java-rabbitmq
Mallow Flowers5 小时前
Python训练营-Day31-文件的拆分和使用
开发语言·人工智能·python·算法·机器学习
kfyty7256 小时前
轻量级 ioc 框架 loveqq,支持接口上传 jar 格式的 starter 启动器并支持热加载其中的 bean
java·jvm·ioc·jar·热加载
早起鸟儿6 小时前
docker-Dockerfile 配置
java·linux·运维·docker