Pythonでrange関数のような値の範囲を取得したいと考えています。Javaで値の範囲を取得する方法
# Python range
a = range(0,1.0,0.01)
b = range(5,10,2)
Javaでは、このような結果をListとしたいと考えています。
// Java range
public class range{
private double start;
private double end;
private double step;
public range(double start,double end, double step) {
this.start = start;
this.end = end;
this.step = step;
}
public List<Double> asList(){
List<Double> ret = new ArrayList<Double>();
for(double i = this.start;i <= this.end; i += this.step){
ret.add(i);
}
return ret;
}
}
しかし、このコードでは整数の範囲が必要なときに冗長性を計算すると思います。
Javaでよりスマートな方法や実装ができますか?
「冗長性を計算する」とは何ですか? – muzzlator
Pythonにあるように、すべてのプリミティブ型に対して汎用的な解決策が必要ですか? – ilya
@muzzlator Integersをコンストラクタに置くと、doubleとして扱われます。 asListの計算では、doubleの精度は必要ないと思います。この間違いですか? – ric