Advertisement
Guest User

Java 8: Collection map and trim

a guest
Apr 5th, 2016
820
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.47 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.stream.Collectors;
  5.  
  6. public class StreamingList {
  7.     public static void main(String[] args) {
  8.         List<String> originalStrings = Arrays.asList("foo ", " bar", " baz ");
  9.        
  10.         {   // Plain-old Java Loop
  11.             List<String> trimmedStrings = new ArrayList<String>();
  12.             for (String s : originalStrings) {
  13.                 trimmedStrings.add(s.trim());
  14.             }
  15.             System.out.println(trimmedStrings);
  16.         }
  17.         {   // Java 7 (Anonymous function)
  18.             List<String> trimmedStrings = CollectionUtil.map(originalStrings, new CollectionUtil.Mapper<String, String>() {
  19.                 @Override
  20.                 public String map(String item) {
  21.                     return item.trim();
  22.                 }
  23.             });
  24.             System.out.println(trimmedStrings);
  25.         }
  26.         {   // Java 8 (Lambda function with custom interface)
  27.             List<String> trimmedStrings = CollectionUtil.map(originalStrings, (String item) -> item.trim());
  28.             System.out.println(trimmedStrings);
  29.         }
  30.         {   // Java 8 (Lambda function)
  31.             List<String> trimmedStrings = originalStrings.stream().map(String::trim).collect(Collectors.toList());
  32.             System.out.println(trimmedStrings);
  33.         }
  34.     }
  35.    
  36.     private static class CollectionUtil {
  37.         public static interface Mapper<T, U> {
  38.             public U map(T item);
  39.         }
  40.         public static <T, U> List<U> map(Iterable<T> list, Mapper<T, U> mapper) {
  41.             List<U> result = new ArrayList<U>();
  42.             for (T item : list) {
  43.                 result.add(mapper.map(item));
  44.             }
  45.             return result;
  46.         }
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement