Hölle Jeder,wie ein Java-Programm mit Stream-Java parallelisieren 8
ich ein vereinfachtes Programm erstellt haben, Ihnen zu zeigen, was ich zu tun bereit bin. Die Idee ist, eine Kante zwischen jedem Vertex zu erstellen.
Die Klasse Vertex:
public class Vertex {
private String sequence = new String();
public Vertex() {
}
public Vertex(String seq) {
this.sequence = seq;
}
@Override
public String toString() {
return this.sequence.toString();
}
}
Die Klasse Rand:
public class Edge {
private Vertex source;
private Vertex destination;
private int weight;
public Edge() {
}
public Edge(Vertex source, Vertex destination, int weight) {
this.source = source;
this.destination = destination;
this.weight = weight;
}
}
Aufrufprogramm:
public class Example {
public static void main(String[] args) {
ArrayList <Vertex> listOfVertex = new ArrayList<>();
listOfVertex.add(new Vertex("One"));
listOfVertex.add(new Vertex("Two"));
listOfVertex.add(new Vertex("Three"));
ArrayList <Edge> listOfEdges = new ArrayList<>();
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i==j)
continue;
int weight = new Random().nextInt();
Edge edge = new Edge(listOfVertex.get(i), listOfVertex.get(j),weight);
listOfEdges.add(edge);
}
}
}
}
Normalerweise in diesem Schritt die Liste der Kanten haben sollte
- Edge-1: ein Zwei
- Edge-2: einen Drei
- Rand 3: Zwei One
- Rand 4: Zwei Drei
- Ränder 5: Three One
- Rand 6: Drei Zwei
Wie kann Java-Stream verwendet Multithreading zu benutzen? Ich suchte den ganzen Tag, um die Syntax von Java 8 für Stream zu verstehen, aber es ist sehr schwierig.
"Wie kann Java Stream Multithreading verwenden?" - um was zu tun ? – alfasin
Um die beiden for-Schleife quicly zu vervollständigen, weil 1- in meinem realen Programm ich mit einer großen Anzahl von Ecken und 2 zu tun habe - die Konstruktion des Edge dauerte eine lange Zeit zu vervollständigen (schwere Calcul). –