package ch.claude_martin;
import java.util.Arrays;
import java.util.Optional;
import java.util.stream.Stream;
public class SomeClass {
static class Tuple implements Comparable<Tuple> {
final int max;
final int[] vector;
public Tuple(int[] vector) {
assert vector.length > 0;
this.max = Arrays.stream(vector).max().getAsInt();
this.vector = vector;
}
@Override
public int compareTo(Tuple o) {
return Integer.compare(o.max, this.max);
}
public int getMax() {
return max;
}
public int[] getVector() {
return vector;
}
}
public static void main(String[] args) {
final int[] v1 = { 3, 5 };
final int[] v2 = { 3, 6 };
final int[] v3 = {};
final int[] v4 = { -1, Integer.MIN_VALUE };
final Optional<Tuple> tuple = Stream.of(v1, v2, v3, v4).filter(v -> v.length > 0).map(v -> new Tuple(v)).sorted()
.findFirst();
if (tuple.isPresent())
System.out.println(tuple.get().getMax() + " -> " + Arrays.toString(tuple.get().getVector()));
else
System.out.println("No data");
}
}
Comments
0 B
|👍
/👎