lambda去重
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lambda去重相关的知识,希望对你有一定的参考价值。
参考技术A lambda去重使用collectingAndThen方法list<Object> 对象中,如果根据Object的单个属性进行过滤去重,
则: List<User> userList = users.stream() .collect(
Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(user -> user.getName()))), ArrayList::new));
如果是根据Object中的多个对象,则:
List<User> userList = users.stream() .collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(user -> user.getName()+";"+user.getId()))), ArrayList::new));
List去重两个相同的实体类对象或者相同的单个对象字段
java对list集合进行去重 传统方式 VS Lambda
调用相关文章,如果是内容页调用则不包含当前这一篇文章
把下面代码放到模板你想显示的位置
{dede:field.keywords runphp=yes}
global $dsql,$id,$aid;
$aid = isset($id) ? $id : $aid;
$keyword = ‘‘;
if(!empty(@me))
{
$keywords = explode(‘,‘ , trim(@me));
$keyword = ‘‘;
$n = 1;
foreach($keywords as $k)
{
if($n > 3) break;
if(trim($k)==‘‘) continue;
else $k = addslashes($k);
$keyword .= ($keyword==‘‘ ? " CONCAT(arc.keywords,‘ ‘,arc.title) LIKE ‘%$k%‘ " : " OR CONCAT(arc.keywords,‘ ‘,arc.title) LIKE ‘%$k%‘ ");
$n++;
}
}
if($keyword != ‘‘)
{
$sql = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id where arc.arcrank>-1 AND ($keyword) AND arc.id<>‘$aid‘ ORDER BY arc.id desc limit 0, 10";
}
$dsql->SetQuery($sql);
$dsql->Execute(‘t‘);
$result = ‘‘;
while($row = $dsql->GetArray(‘t‘))
{
$arcrow = GetOneArchive($row[‘id‘]);
$row[‘arcurl‘] = $arcrow[‘arcurl‘];
$row[‘pubdate‘] = MyDate(‘Y-m-d‘,$row[‘pubdate‘]);
$row[‘litpic‘] = $row[‘litpic‘] = $row[‘litpic‘]==‘‘ ? ‘/images/defaultpic.gif‘ : $row[‘litpic‘];
$result .= "<li><a href="{$row[‘arcurl‘]}"><img src="{$row[‘litpic‘]}">{$row[‘title‘]}</a></li>";
}
@me = $result;
{/dede:field.keywords}
以上是关于lambda去重的主要内容,如果未能解决你的问题,请参考以下文章
java对list集合进行去重 传统方式 VS Lambda
java对list集合进行去重 传统方式 VS Lambda