1, LinkedHashMap获取首尾元素
时间复杂度O(1)
public <K, V> Entry<K, V> getHead(LinkedHashMap<K, V> map) {
return map.entrySet().iterator().next();
}
时间复杂度O(1)
public <K, V> Entry<K, V> getTail(LinkedHashMap<K, V> map) {
Iterator<Entry<K, V>> iterator = map.entrySet().iterator();
Entry<K, V> tail = null;
while (iterator.hasNext()) {
tail = iterator.next();
}
return tail;
}
2, js三目表达式处理参数为空
业务场景:
前台页面收到后台传递过来的一个对象list集合,迭代这个 集合拼接一个表格,但是集合中一些对象的部分属性有时是空值,这样拼接出来的表格在页面上显示时,会出现显示null的情况,用户体验不是很好。如何解决这个问题呢?往上查找了下资料也没有结果,突然想到三目表达式,于是想在js上用一下 ,结果还真可以,看来我这个伪前端要out了。
接下来就分享一下。
Js拼接表格部分代码
$.get("getPayables/?requestId="+requestId+"&finalSettlementKey="+finalSettlementKey, function
(resp) {
var payables = resp.data;
//迭代并拼接
var str = "";
$.each(payables, function (i, item) {
str += "<tr>" +
"<td>" + item.rfBusinessId + "</td>" +
"<td>" + item.requestId + "</td>" +
"<td>" + (item.feeTypeName == null ? "" : item.feeTypeName) + "</td>" +
"<td>" + item.amount + "</td>" +
"<td>" + item.businessTime + "</td>" +
"<td>" + item.accountTime + "</td>" +
"<td>" + (item.regionName ==null ? "" : item.regionName) + "</td>" +
"</tr>"
//拼接
str.replace()
$("#tbodyId").html(str);
});
}, "json");
可以看到td标签中在获取元素时使用了三目表达式,效果如下