要素の制限された量からfinde最低ARAコード:1,2,3,4は、Integer.MAX_VALUE:のJava 8ストリームfinde MIN/MAX制限
public int min(String s) {
return s.chars().map(this::mapToFactor).min().getAsInt();
}
private int mapToFactor(int ch) {
switch(ch) {
case 'A': return 1;
case 'C': return 2;
case 'G': return 3;
case 'T': return 4;
default: return Integer.MAX_VALUE;
}
}
がば完全のみ5の数を存在します。私たちが1に直面したとき、将来の反復をスキップして結果を返すことができます。私たちの文字列が大きな警戒が、我々は1が大幅にパフォーマンスダウンスキップiterrationsで代わりのJava 7スタイルのJavaの8ストリームを使用していすることができますのであれば上の場合
public int min(String s) {
int min = Integer.MAX_VALUE;
for (Character ch : s.toCharArray()) {
int current = mapToFactor(ch);
if(current == 1) {
//How I can implement this in Java 8 stream style?
return 1;
}
if (current < min) {
min = current;
}
return min;
}
}
。
上記のJava 7コードをJava 8ストリーム形式で記述する方法を教えてください。
可能な重複[ストリーム上の削減方法にショート()操作?](http://stackoverflow.com/questions/32495069/how-to-short-circuit-a-reduce-ストリーム上での操作) – user140547
[述語によるストリームを制限する]の可能な複製(http://stackoverflow.com/questions/20746429/limit-a-stream-by-a-predicate) – the8472