Create Djikstra's_Algorithm_Java

We take in an int[][] of the weights, which gives the weight of the path from node i to node j. Weights[i][j] = weight if a path exists. Weights[i][j] = 0 if i == j. Weights[i][j] = Integer.MAX_VALUE if the path does not exist (using no other nodes, this is only the initialization).
Points is somewhat poorly named. It holds a list of all the points we have in our graph. Their index in the ArrayList gives the value for the index in connections.
Here, we simply output the distance from the start node to the end node.
Internal storage: we store each point on the graph in a Point object with its index in the ArrayList in the X value and its current weight in the priority queue in y.