一直往下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;
    }
相关推荐
程序员烧烤4 分钟前
【Java基础14】函数式接口、lamba表达式、方法引用一网打尽(下)
java·开发语言
spencer_tseng13 分钟前
pinyin4j-2.5.0.jar
java·jar·pinyin4j
lzq60315 分钟前
Python虚拟环境全指南:venv与conda对比与实践
开发语言·python·conda
ZhengEnCi24 分钟前
J1B-为什么99%的人配置Java环境失败?大厂开发者5分钟搞定的JDK安装与环境配置完全指南
java
零雲27 分钟前
java面试:有了解过kafka架构吗,可以详细讲一讲吗
java·面试·kafka
一行•坚书33 分钟前
kafka服务端与客户端如何协作?生产者发送消息分区策略是什么?消费者组分区策略?集群与ACK机制?
java·后端·kafka
小年糕是糕手40 分钟前
【数据结构】常见的排序算法 -- 插入排序
c语言·开发语言·数据结构·学习·算法·leetcode·排序算法
serve the people1 小时前
Prompt Composition with LangChain’s PipelinePromptTemplate
java·langchain·prompt
天天摸鱼的java工程师1 小时前
干掉系统卡顿!Excel异步导出完整实战方案(百万数据也不慌)
java·后端
星释1 小时前
Rust 练习册 4:Deref trait 与智能指针
开发语言·后端·rust