一直往下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;
}