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;
//}
Guava学习
最新推荐文章于 2024-09-30 10:21:58 发布