История изменений
Исправление
vertexua,
(текущая версия)
:
Скалу уже писали.
Java, петросян-mode
import static com.google.common.collect.Collections2.*;
import static com.google.common.collect.Iterables.*;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import java.text.MessageFormat;
import java.util.Collection;
import java.util.List;
public class MainClass {
public static void main(String[] arv){
List<String> array = ImmutableList.of(
"John", "James", "Jakob", "Peter", "Janette",
"Tom", "Vasya", "Jean", "Juilia", "Heather");
Collection<String> filtered = filter(array, new Predicate<String>() {
@Override
public boolean apply(String s) {
return s.startsWith("J");
}
});
Iterable<List<String>> partitioned = partition(filtered, 3);
Iterable<String> formatted = transform(partitioned, new Function<List<String>, String>() {
@Override
public String apply(List<String> s) {
return MessageFormat.format("{0} and {1} follow {2}", s.get(0),s.get(1),s.get(2));
}
});
String result = Joiner.on("\n").join(formatted);
System.out.println(result);
}
}
Или без рюшечек
import static com.google.common.collect.Collections2.*;
import static com.google.common.collect.Iterables.*;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import java.text.MessageFormat;
import java.util.List;
public class MainClass {
public static void main(String[] arv){
List<String> array = ImmutableList.of(
"John", "James", "Jakob", "Peter", "Janette",
"Tom", "Vasya", "Jean", "Juilia", "Heather");
String result = Joiner.on("\n").join(transform(partition(filter(array, new Predicate<String>() {
@Override
public boolean apply(String s) {
return s.startsWith("J");
}
}), 3), new Function<List<String>, String>() {
@Override
public String apply(List<String> s) {
return MessageFormat.format("{0} and {1} follow {2}", s.get(0),s.get(1),s.get(2));
}
}));
System.out.println(result);
}
}
Исходная версия
vertexua,
:
Java, петросян-mode
import static com.google.common.collect.Collections2.*;
import static com.google.common.collect.Iterables.*;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import java.text.MessageFormat;
import java.util.Collection;
import java.util.List;
public class MainClass {
public static void main(String[] arv){
List<String> array = ImmutableList.of(
"John", "James", "Jakob", "Peter", "Janette",
"Tom", "Vasya", "Jean", "Juilia", "Heather");
Collection<String> filtered = filter(array, new Predicate<String>() {
@Override
public boolean apply(String s) {
return s.startsWith("J");
}
});
Iterable<List<String>> partitioned = partition(filtered, 3);
Iterable<String> formatted = transform(partitioned, new Function<List<String>, String>() {
@Override
public String apply(List<String> s) {
return MessageFormat.format("{0} and {1} follow {2}", s.get(0),s.get(1),s.get(2));
}
});
String result = Joiner.on("\n").join(formatted);
System.out.println(result);
}
}
Или без рюшечек
import static com.google.common.collect.Collections2.*;
import static com.google.common.collect.Iterables.*;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
import java.text.MessageFormat;
import java.util.List;
public class MainClass {
public static void main(String[] arv){
List<String> array = ImmutableList.of(
"John", "James", "Jakob", "Peter", "Janette",
"Tom", "Vasya", "Jean", "Juilia", "Heather");
String result = Joiner.on("\n").join(transform(partition(filter(array, new Predicate<String>() {
@Override
public boolean apply(String s) {
return s.startsWith("J");
}
}), 3), new Function<List<String>, String>() {
@Override
public String apply(List<String> s) {
return MessageFormat.format("{0} and {1} follow {2}", s.get(0),s.get(1),s.get(2));
}
}));
System.out.println(result);
}
}