これは私の最初の投稿です。今日私はJava用のコンビナトリアルライブラリを使い始めました。この1Javaコンビナトリアル。生成されたデータを含むオブジェクトの作成
:https://github.com/dpaukov/combinatoricslib3
私はExcelで三角形の辺の長さ以上の10Kを持っています。私はそれらを2d整数配列に引っ張った。
public class Triangle {
private int a;
private int b;
private int c;
public Triangle(int a, int b, int c)
{
this.a = a;
this.b = b;
this.c = c;
}
public boolean isCorrect()
{
if(this.a + this.b > this.c)
return true;
return false;
}
}
私の問題は、私は三角形のすべての可能な組み合わせを生成するが、オブジェクトの三角形を作成する方法が分からないということです。私はクラスのトライアングルを作成したより
。結果を印刷する方法しか知りません。
public static void main(String[] args) throws IOException {
Generator.combination(sides).simple(3).stream().forEach(System.out::println);
}
ありがとうございます。乾杯!
EDIT:
これは側面の一例である:
static final int[][] sides = new int[][]{
{71, 100, 1231, 832, 127},
{336, 447, 815, 658, 373},
{126, 444, 556, 221, 1322},
{1226, 662, 985, 87, 991},
{555, 512, 111, 339, 22},
};
私は、このデータをすべての可能な三角形を生成したいです。これは側面が、あなたは、さらに適切な型に(マップ)それらを変換する必要があるかもしれません整数、そうでない場合(例えば、文字列)であることを意味していること
Generator
.combination(sides)
.simple(3)
.stream()
.forEach(
sides -> new Triangle(sides[0],sides[1],sides[2])
);
注:
一つのこと:あなたが使用している** int型**すべての場所、およびいくつかのストリーミング通話オートボクシングへの可能性がありますオーバー。だから、intと整数の間で切り替える潜在的な隠されたパフォーマンスコストに気をつけてください – GhostCat