Google Guava Libraries are a nice set of Java utility classes that will probably come in handy in any project. Stuff like immutable collections, string manipulation, handling primitives and easier I/O are some of the concepts they deal with.
In this tutorial I will demonstarte you how to transform a collection using the function.
Collection2 is the utility class provided by the Gauva API which has transfrom() method with input collection and function implementation and return the transofrmed collection.
- Function<A, B>, which has the single method B apply(A input). Instances of Function are generally expected to be referentially transparent -- no side effects -- and to be consistent with equals, that is, a.equals(b) implies thatfunction.apply(a).equals(function.apply(b)).
In this tutorial I will demonstarte you how to transform a collection using the function.
package com.rajkrrsingh.test.guava;
import java.util.ArrayList;
import java.util.List;
import com.google.common.base.Objects;
import com.google.common.collect.ComparisonChain;
public class Employee implements Comparable<Employee>{
private String empid;
private String empName;
private int salary;
private int age;
private static List<Employee> list;
static{
list = new ArrayList<Employee>();
list.add(new Employee("101", "RKS", 10000, 31));
list.add(new Employee("102", "Derek", 10500, 35));
list.add(new Employee("103", "Jack", 9000, 29));
list.add(new Employee("104", "Nick", 9600, 35));
}
public static List<Employee> getEmployeeList(){
return list;
}
public Employee(){}
public Employee(String empid,String empName,int salary,int age){
this.empid = empid;
this.empName = empName;
this.salary = salary;
this.age = age;
}
public String getEmpid() {
return empid;
}
public void setEmpid(String empid) {
this.empid = empid;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int hashCode() {
// TODO Auto-generated method stub
return Objects.hashCode(empid,empName);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof Employee)) {
return false;
}
Employee emp = (Employee) obj;
return Objects.equal(this.empid, emp.empid) && Objects.equal(this.empName, emp.empName);
}
@Override
public String toString() {
return Objects.toStringHelper(this).add("empid", empid).add("empName", empName).toString();
}
@Override
public int compareTo(Employee o) {
// ComparisionChain
return ComparisonChain.start().compare(empid, o.empid)
.compare(empName, o.empName)
.compare(salary, o.salary)
.compare(age, o.age)
.result();
}
}
Collection2 is the utility class provided by the Gauva API which has transfrom() method with input collection and function implementation and return the transofrmed collection.
/** * */ package com.rajkrrsingh.test.guava; import java.util.Collection; import java.util.Iterator; import com.google.common.base.Function; import com.google.common.collect.Collections2; /** * @author rks * @04-Jan-2015 */ public class GuavaFunctionDemo { public static void main(String[] args) { printEmployeeInUpperCase(); } // Transformation of one collection to the other collection using Guava function public static void printEmployeeInUpperCase(){ Collection<String> upperCaseEmpName = Collections2.transform(Employee.getEmployeeList(),new Function<Employee, String>() { @Override public String apply(Employee emp) { if(emp != null) return emp.getEmpName().toUpperCase(); return ""; } }); Iterator<String> itr = upperCaseEmpName.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }after running the class you will find all your collection element are in the uppercase.
RKS DEREK JACK NICK
No comments:
Post a Comment