google guava小例子

来源:互联网 发布:网络直播唱歌 编辑:程序博客网 时间:2024/05/29 03:05
package com.cdg.guava;import java.util.List;import java.util.Map;import com.google.common.base.Function;import com.google.common.base.Strings;import com.google.common.collect.Lists;import com.google.common.collect.Maps;import com.google.common.collect.Ordering;public class Test03 {public static void main(String[] args) {Map<String, String> eurPriceMap = Maps.newHashMap();eurPriceMap.put("aaa", "111");//过滤MAPMap<String, String> usdPriceMap = Maps.transformValues(eurPriceMap,new Function<String, String>() {@Overridepublic String apply(String value) {System.out.println(value);return null;}});System.out.println(usdPriceMap);List<Person> persons = Lists.newArrayList(new Person("aaa"),new Person("ddd"), new Person("ccc"), new Person("null"));//List排序List<Person> sortedCopy = new Ordering<Person>() {@Overridepublic int compare(Person left, Person right) {return left.getLastName().compareTo(right.getLastName());}}.immutableSortedCopy(persons);for (Person p : sortedCopy) {System.out.println(p.getLastName());}//过滤ListList<Person> newList = Lists.transform(sortedCopy, new Function<Person, Person>() {@Overridepublic Person apply(Person value) {//如果返回空则list里面有个空值,长度是sortedCopy的长度,for循环时可能会抛空异常return Strings.isNullOrEmpty(value.getLastName()) ? value : null ;}});System.out.println("\n"+newList.size());for (Person p : newList) {//这里必须要判断是否为空if(p != null){System.out.println(p.getLastName());}}}}class Person {Person(String lastName) {this.lastName = lastName;}private String lastName;public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}}

0 0
原创粉丝点击