未完 Guava

本文介绍了Guava集合工具中的一些高级用法,包括如何使用Lists、Maps和Collections2进行数据转换和过滤,以及如何利用Multimaps和BidirectionalMaps解决复杂的数据结构问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]集合工具:[/b][quote]

List<String> companyNames = Lists.transform(companyList, new Function<Company, String>() {
public String apply(Company input) {
return input.getName();
}});

Map<Integer, User> filteredNewMembers = Maps.filterKeys(rawNewMembers, Predicates.in(filteredNewMemberIds));

Map<Integer, User> newMembers4CurUser = Maps.filterValues(newMembers, new Predicate<User>() {

@Override
public boolean apply(User newMember) {
return compare(provinceCode, newMember.getProvinceCode())
&& compare(cityStr, newMember.getCityStr())
&& compare(industryCode, newMember.getIndustryCode());
}

private boolean compare(String str1, String str2) {
if(StringUtils.isBlank(str1)) {
return true;
} else {
if(str1.equals(str2)) {
return true;
} else {
return false;
}
}
}
});

Collections2.filter(recCompanyItems, new Predicate<CompanyItemVO>() {
@Override
public boolean apply(CompanyItemVO item) {
if (excludedCompanyIds.contains(item.getCompanyId())) {
return false;
}
return true;
}
}));

OR

Iterables.filter(recCompanyItems, new Predicate<CompanyItemVO>() {
@Override
public boolean apply(CompanyItemVO item) {
if (excludedCompanyIds.contains(item.getCompanyId())) {
return false;
}
return true;
}
}));


[/quote]


Multimaps:
[url]http://java.dzone.com/articles/multimaps-google-guava[/url]


Bidirectional Maps:
[url]http://java.dzone.com/articles/guavas-bidirectional-maps[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值