一直往下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;
    }
相关推荐
yuanpan7 分钟前
Python Scrapy 入门教程:从零学会抓取和解析网页数据
java·python·scrapy
Bat U8 分钟前
JavaEE|多线程(五)
java·开发语言·jvm
疋瓞12 分钟前
pringBoot + 若依框架开发与部署流程
java
豆豆18 分钟前
高校网站用什么CMS?站群管理+国产化适配方案
java·大数据·cms·建站系统·信创国产化·高校网站·站群cms
玉小格22 分钟前
对py作业的一个复盘
开发语言·python
Rust研习社22 分钟前
使用 Tonic 构建高性能异步 gRPC 服务
开发语言·网络·后端·http·rust
captain37625 分钟前
JDBC(Java Data Base Connectivity)
java·开发语言
longxibo30 分钟前
【flowable 7.2.0 二开之三:基于 Flowable 7.2 的审批流系统解压即用】
java·tensorflow·jar
南境十里·墨染春水32 分钟前
C++笔记 STL——vector
开发语言·c++·笔记
拾-光38 分钟前
LTX-Video 2.3 实战:用图片生成视频,消费级显卡也能跑的开源 I2V 模型(GPT Image 2)
java·人工智能·python·深度学习·算法·机器学习·音视频