Guava学习

import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.collect.ComparisonChain;
import com.google.common.collect.Lists;
import com.google.common.primitives.Ints;


/**
 * 
 */

/**
 * @author zhanglong
 *
 */
public class GuavaTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//用,来连接
		List<String> list = Lists.newArrayList();
		list.add(null);
		list.add("zhanglong");
		String	joined = Joiner.on(",").useForNull("NA").join(list); //对null做处理,转换成NA
		String	joinedSkipNull = Joiner.on(",").skipNulls().join(list); //过滤掉null
		System.out.println(joined);
		System.out.println(joinedSkipNull);
		//分割
		String str = "djdjd,kdkdkd,ni,qianqian";
		for (String string : Splitter.on(",").split(str)) {
			System.out.println(string);
		}
                //java与guava的排序
	        Person person1 = new Person();
		person1.setFirstName("zhang");
		person1.setSeoundName("yin");
		person1.setAge(26);
		Person person2 = new Person();
		person2.setFirstName("hang");
		person2.setSeoundName("zlon");
		person2.setAge(28);
		List<Person> listPerson = Lists.newArrayList();
		listPerson.add(person1);
		listPerson.add(person2);
		PersonComparator comparator = new PersonComparator();
		System.out.println(comparator.compare(person1, person2));
		Collections.sort(listPerson, new PersonComparator());
		for (Person person : listPerson) {
			System.out.println("java "+person.getFirstName());
			System.out.println("java "+person.getSeoundName());
			System.out.println("java "+person.getAge());
		}
		PersonGuava guava = new PersonGuava();
		System.out.println(guava.compare(person1, person2));
		Collections.sort(listPerson, new PersonGuava());
		for (Person person : listPerson) {
			System.out.println("guava "+person.getFirstName());
			System.out.println("guava "+person.getSeoundName());
			System.out.println("guava "+person.getAge());
		}
		
	}
	
	
}
//按照名字然后年龄排序
class Person{
	
	private String firstName;
	private String seoundName;
	private int age;
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getSeoundName() {
		return seoundName;
	}
	public void setSeoundName(String seoundName) {
		this.seoundName = seoundName;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	
}
//java
class PersonComparator implements Comparator<Person>{

	@Override
	public int compare(Person o1, Person o2) {
		int result = o1.getFirstName().compareTo(o2.getFirstName());
		if(result != 0){
			return result;
		}
		result = o1.getSeoundName().compareTo(o2.getSeoundName());
		if(result != 0){
			return result;
		}
		return Ints.compare(o1.getAge(), o2.getAge());
	}
}

//guava
class PersonGuava implements Comparator<Person>{

	@Override
	public int compare(Person o1, Person o2) {
		return ComparisonChain.start()
				.compare(o1.getFirstName(), o2.getFirstName())
				.compare(o1.getSeoundName(), o2.getSeoundName())
				.compare(o1.getAge(), o2.getAge())
				.result();
	}
	
}
//public int compare(CtItemDO o1, CtItemDO o2)
 //if(o1.getCommission() > o2.getCommission()) return 1;
 //if(o1.getCommission() < o2.getCommission()) return -1;
 //return 0;
//}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值