public class NutMap extends LinkedHashMap<String,Object> implements NutBean
同 TreeMap 不同的是,如果 get(null),它不会抛错,就是返回 null 或默认值
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
NutMap() |
NutMap(Map<String,Object> map) |
NutMap(String json) |
NutMap(String key,
Object value) |
Modifier and Type | Method and Description |
---|---|
NutMap |
addv(String key,
Object value)
为 Map 增加一个名值对。如果同名已经有值了,那么会将两个值合并成一个列表
|
NutMap |
addv2(String key,
Object value)
为 Map 增加一个名值对。强制设置为一个列表,如果有同名则合并
|
NutMap |
attach(NutMap map) |
void |
clear() |
boolean |
containsKey(Object key) |
boolean |
containsValue(Object value) |
NutMap |
detach() |
NutMap |
duplicate() |
Set<Map.Entry<String,Object>> |
entrySet() |
Object |
eval(String el) |
int |
evalInt(String el) |
Object |
get(Object key) |
Object |
get(String key,
Object dft) |
<T> T[] |
getArray(String key,
Class<T> eleType) |
<T> T[] |
getArray(String key,
Class<T> eleType,
T[] dft)
将一个字段转换成数组。因为返回的是容器,所以本函数永远不会返回 null
|
<T> T |
getAs(String key,
Class<T> classOfT) |
<T> T |
getAs(String key,
Class<T> classOfT,
T dft) |
<T> List<T> |
getAsList(String key,
Class<T> eleType) |
boolean |
getBoolean(String key) |
boolean |
getBoolean(String key,
boolean dft) |
double |
getDouble(String key) |
double |
getDouble(String key,
double dft) |
<T extends Enum<T>> |
getEnum(String key,
Class<T> classOfEnum) |
float |
getFloat(String key) |
float |
getFloat(String key,
float dft) |
int |
getInt(String key) |
int |
getInt(String key,
int dft) |
<T> List<T> |
getList(String key,
Class<T> eleType) |
<T> List<T> |
getList(String key,
Class<T> eleType,
List<T> dft)
将一个字段转换成列表。因为返回的是容器,所以本函数永远不会返回 null
|
long |
getLong(String key) |
long |
getLong(String key,
long dft) |
<T> T |
getOrBorn(String key,
Borning<T> factory)
获取对应的值,若不存在,用factory创建一个,然后设置进去,返回之
|
String |
getString(String key) |
String |
getString(String key,
String dft) |
Date |
getTime(String key) |
Date |
getTime(String key,
Date dft) |
boolean |
has(String key) |
int |
intDecrement(String key)
指定key进行自减操作,并返回结果
|
int |
intDecrement(String key,
int number)
指定key进行减操作,并返回结果
|
int |
intIncrement(String key)
指定key进行自增操作,并返回结果
|
int |
intIncrement(String key,
int number)
指定key进行增操作,并返回结果
|
boolean |
is(String key,
Object val) |
boolean |
isEnum(String key,
Enum<?>... eus) |
Set<String> |
keySet() |
long |
longDecrement(String key)
指定key进行自减操作,并返回结果
|
long |
longDecrement(String key,
long number)
指定key进行减操作,并返回结果
|
long |
longIncrement(String key)
指定key进行自增操作,并返回结果
|
long |
longIncrement(String key,
long number)
指定key进行增操作,并返回结果
|
boolean |
match(Map<String,Object> map)
将自身作为一个条件,看看给定的 Map 是否全部满足这个条件
|
NutMap |
mergeWith(Map<String,Object> map)
相当于 mergeWith(map, false)
|
NutMap |
mergeWith(Map<String,Object> map,
boolean onlyAbsent)
与一个给定的 Map 融合,如果有子 Map 递归
|
static NutMap |
NEW() |
NutMap |
omit(String... keys)
从 Map 里将指定的键过滤,生成一个新的 Map
|
NutMap |
pick(String... keys)
从 Map 里挑选一些键生成一个新的 Map
|
NutMap |
pickAndRemove(String... keys)
从 Map 里挑选一些键生成一个新的 Map,自己同时删除这些键
|
NutMap |
pickAndRemoveBy(Pattern p,
boolean isNot)
从 Map 里挑选一些键生成一个新的 Map,自己同时删除这些键
|
NutMap |
pickAndRemoveBy(String regex)
就是 pickAndRemoveBy 的一个便利写法
|
NutMap |
pickBy(Pattern p,
boolean isNot)
从 Map 里挑选一些键生成一个新的 Map
|
NutMap |
pickBy(String regex)
从 Map 里挑选一些键生成一个新的 Map
|
NutMap |
pushTo(String key,
Collection<?> values)
是 pushTo 函数的另一个变种(可以接受集合)
|
<T> NutMap |
pushTo(String key,
T... values)
向某个键增加一组值,如果原来就有值,是集合的话,会被合并,否则原来的值用列表包裹后再加入新值
|
NutMap |
putDefault(String key,
Object dft)
如果一个键的值无效(has(key) 返回 false),那么为其设置默认值
|
NutMap |
putv(String key,
Object value)
Deprecated.
本函数意义容易发生混淆,已经改名成 addv,下个版将被删除
|
NutBean |
setAll(Map<String,Object> map) |
NutMap |
setMap(Map<?,?> map,
boolean ignoreNullValue) |
NutMap |
setnx(String key,
Object val)
与JDK8+的 putIfAbsent(key, val)一致, 当且仅当值不存在时设置进去,但与putIfAbsent返回值有不一样
|
NutMap |
setnxAll(Map<String,Object> map)
将一个集合与自己补充(相当于针对每个 key 调用 setnx)
|
void |
setOrRemove(String key,
Object v)
设置一个字段,如果值为 null 则表示移除
|
NutMap |
setv(String key,
Object value) |
void |
unset(String key) |
Collection<Object> |
values() |
static NutMap |
WRAP(Map<String,Object> map) |
static NutMap |
WRAP(String json) |
forEach, getOrDefault, removeEldestEntry, replaceAll
clone, compute, computeIfAbsent, computeIfPresent, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
equals, hashCode, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size
public NutMap()
public NutMap(String json)
public void setOrRemove(String key, Object v)
setOrRemove
in interface NutBean
key
- 键v
- 值public static NutMap NEW()
public NutMap duplicate()
public NutMap pickAndRemove(String... keys)
pickAndRemove
in interface NutBean
keys
- 键public NutMap pickAndRemoveBy(String regex)
regex
- 正则表达式,! 开头表示取反pickAndRemoveBy(Pattern, boolean)
public NutMap pickAndRemoveBy(Pattern p, boolean isNot)
pickAndRemoveBy
in interface NutBean
p
- 匹配键的正则表达式,null 不会匹配任何一个键isNot
- true 表示被匹配上的会被忽略,false 表示被匹配上的才加入到返回的集合里public NutMap putDefault(String key, Object dft)
putDefault
in interface NutBean
key
- 键dft
- 值public boolean containsValue(Object value)
containsValue
in interface Map<String,Object>
containsValue
in class LinkedHashMap<String,Object>
public boolean containsKey(Object key)
containsKey
in interface Map<String,Object>
containsKey
in class HashMap<String,Object>
public Collection<Object> values()
public void clear()
public NutMap detach()
public double getDouble(String key, double dft)
public boolean getBoolean(String key)
getBoolean
in interface NutBean
public boolean getBoolean(String key, boolean dft)
getBoolean
in interface NutBean
public <T> List<T> getList(String key, Class<T> eleType)
getList
in interface NutBean
getList(String, Class, List)
public <T> List<T> getList(String key, Class<T> eleType, List<T> dft)
NutBean
public <T> T[] getArray(String key, Class<T> eleType)
getArray
in interface NutBean
NutBean.getArray(String, Class, Object[])
public <T> T[] getArray(String key, Class<T> eleType, T[] dft)
NutBean
public <T> NutMap pushTo(String key, T... values)
key
- 键values
- 值列表public NutMap pushTo(String key, Collection<?> values)
key
- 键values
- 值列表pushTo(String, Collection)
@Deprecated public NutMap putv(String key, Object value)
public NutMap mergeWith(Map<String,Object> map)
mergeWith
in interface NutBean
mergeWith(Map, boolean)
public NutMap mergeWith(Map<String,Object> map, boolean onlyAbsent)
public NutMap setnx(String key, Object val)
public NutMap setnxAll(Map<String,Object> map)
setnxAll
in interface NutBean
map
- 集合setnx(String, Object)
public <T> T getOrBorn(String key, Borning<T> factory)
public boolean match(Map<String,Object> map)
注意,字符串型的值有下列意义
public int evalInt(String el)
public int intIncrement(String key)
intIncrement
in interface NutBean
key
- 键public int intIncrement(String key, int number)
intIncrement
in interface NutBean
key
- 键number
- 数值public int intDecrement(String key)
intDecrement
in interface NutBean
key
- 键public int intDecrement(String key, int number)
intDecrement
in interface NutBean
key
- 键number
- 数值public long longIncrement(String key)
longIncrement
in interface NutBean
key
- 键public long longIncrement(String key, long number)
longIncrement
in interface NutBean
key
- 键number
- 数值public long longDecrement(String key)
longDecrement
in interface NutBean
key
- 键public long longDecrement(String key, long number)
longDecrement
in interface NutBean
key
- 键number
- 数值Copyright © 2017. All rights reserved.