package sig; import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; import javax.swing.JFrame; import sig.engine.Panel; class Vertex{ double x,y,z; Vertex(double x,double y,double z) { this.x=x; this.y=y; this.z=z; } @Override public String toString() { return "Vertex [x=" + x + ", y=" + y + ", z=" + z + "]"; } } class Triangle{ Vertex a,b,c; Triangle(Vertex a,Vertex b,Vertex c) { this.a=a; this.b=b; this.c=c; } @Override public String toString() { return "Triangle [z= "+((a.z+b.z+c.z)/3f)+" ||| a=" + a + ", b=" + b + ", c=" + c + "]"; } } public class JavaProjectTemplate { public static final String PROGRAM_NAME="Sig's Java Project Template"; public static void main(String[] args) { List triList = new ArrayList<>(); for (int i=0;i<30;i++) { triList.add(new Triangle(new Vertex(Math.random()*20-10,Math.random()*20-10,Math.random()*20-10),new Vertex(Math.random()*20-10,Math.random()*20-10,Math.random()*20-10),new Vertex(Math.random()*20-10,Math.random()*20-10,Math.random()*20-10))); } Stream triStream = triList.stream(); List newList=triStream.sorted(new Comparator(){ @Override public int compare(Triangle t1, Triangle t2) { double z1=(t1.a.z+t1.b.z+t1.c.z)/3f; double z2=(t2.a.z+t2.b.z+t2.c.z)/3f; return (z1