aboutsummaryrefslogtreecommitdiff
path: root/src/com.example.portfolio3
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-04-29 06:03:56 +0200
committerJonas Smedegaard <dr@jones.dk>2025-04-29 06:11:41 +0200
commita5c3599d7bc7a9ef5583ad2d50a55975f030fbea (patch)
treedb4ed74e48997d4b4450148116a9c990978a1641 /src/com.example.portfolio3
parent03d2d06e8f5bfadd79912efb94e8931e54296735 (diff)
declare variables final when possible
Diffstat (limited to 'src/com.example.portfolio3')
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java4
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java6
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/AdjMapGraph.java6
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/Edge.java2
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/EdgeGraph.java6
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/GraphAlgorithms.java38
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java10
-rw-r--r--src/com.example.portfolio3/com/example/portfolio3/Vertex.java2
8 files changed, 37 insertions, 37 deletions
diff --git a/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java b/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java
index eff245c..95c1030 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java
@@ -21,7 +21,7 @@ public abstract class AbstractGraph implements Graph{
/// foo
/// @param s foo
/// @return Vertex
- public Vertex vertex(String s){
+ public Vertex vertex(final String s){
if(vertexMap.containsKey(s))return vertexMap.get(s);
Vertex v=new Vertex(s);
vertexMap.put(s,v);
@@ -30,7 +30,7 @@ public abstract class AbstractGraph implements Graph{
}
/// foo
- public void insertEdge(String v, String u, int w){
+ public void insertEdge(final String v, final String u, final int w){
insertEdge(vertex(v),vertex(u),w);
}
diff --git a/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java b/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java
index babaaaa..765eeca 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java
@@ -18,7 +18,7 @@ public class AdjListGraph extends AbstractGraph {
private Map<Vertex,Set<Edge>> outEdge= new HashMap<>();
/// foo
- public void insertEdge(Vertex v1,Vertex v2,int w){
+ public void insertEdge(final Vertex v1, final Vertex v2, final int w){
Edge e=new Edge(v1,v2,w);
if(!outEdge.containsKey(e.from()))
outEdge.put(e.from(),new HashSet<Edge>());
@@ -33,14 +33,14 @@ public class AdjListGraph extends AbstractGraph {
}
/// foo
- public Collection<Edge> outEdge(Vertex v){
+ public Collection<Edge> outEdge(final Vertex v){
if(!outEdge.containsKey(v))
return new HashSet<Edge>();
return outEdge.get(v);
}
/// foo
- public Integer getWeight(Vertex v1,Vertex v2){
+ public Integer getWeight(final Vertex v1, final Vertex v2){
// linear in number of outedges from vertices
if(!outEdge.containsKey(v1))return null;
for(Edge e:outEdge.get(v1)){
diff --git a/src/com.example.portfolio3/com/example/portfolio3/AdjMapGraph.java b/src/com.example.portfolio3/com/example/portfolio3/AdjMapGraph.java
index f12df6f..353f934 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/AdjMapGraph.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/AdjMapGraph.java
@@ -18,7 +18,7 @@ class AdjMapGraph extends AbstractGraph {
private Map<Vertex, Map<Vertex, Edge>> outEdge = new HashMap<>();
/// foo
- public void insertEdge(Vertex v1, Vertex v2, int w) {
+ public void insertEdge(final Vertex v1, final Vertex v2, final int w) {
Edge e = new Edge(v1,v2, w);
if (!outEdge.containsKey(e.from()))
outEdge.put(e.from(), new HashMap<Vertex, Edge>());
@@ -35,12 +35,12 @@ class AdjMapGraph extends AbstractGraph {
}
/// foo
- public Collection<Edge> outEdge(Vertex v) {
+ public Collection<Edge> outEdge(final Vertex v) {
return outEdge.get(v).values();
}
/// foo
- public Integer getWeight(Vertex v1, Vertex v2) {
+ public Integer getWeight(final Vertex v1, final Vertex v2) {
// constant time operation
if(!outEdge.containsKey(v1))return null;
if(!outEdge.get(v1).containsKey(v2))return null;
diff --git a/src/com.example.portfolio3/com/example/portfolio3/Edge.java b/src/com.example.portfolio3/com/example/portfolio3/Edge.java
index f5d54db..7cb8d5a 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/Edge.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/Edge.java
@@ -27,7 +27,7 @@ public class Edge{
/// @param from foo
/// @param to foo
/// @param w foo
- Edge(Vertex from,Vertex to,int w){this.from=from; this.to=to; weight=w;}
+ Edge(final Vertex from, final Vertex to, final int w){this.from=from; this.to=to; weight=w;}
/// foo
/// @return String
diff --git a/src/com.example.portfolio3/com/example/portfolio3/EdgeGraph.java b/src/com.example.portfolio3/com/example/portfolio3/EdgeGraph.java
index 22cfe87..979b118 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/EdgeGraph.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/EdgeGraph.java
@@ -17,7 +17,7 @@ class EdgeGraph extends AbstractGraph {
Set<Edge> edges=new HashSet<>();
/// foo
- public void insertEdge(Vertex v1,Vertex v2,int w){
+ public void insertEdge(final Vertex v1, final Vertex v2, final int w){
edges.add(new Edge(v1,v2,w));
}
@@ -25,14 +25,14 @@ class EdgeGraph extends AbstractGraph {
public Collection<Edge> edges(){return edges;}
/// foo
- public Collection<Edge> outEdge(Vertex v){
+ public Collection<Edge> outEdge(final Vertex v){
ArrayList<Edge> outEdge=new ArrayList<>();
for(Edge e:edges)if(e.from()==v)outEdge.add(e);
return outEdge;
}
/// foo
- public Integer getWeight(Vertex v1,Vertex v2){
+ public Integer getWeight(final Vertex v1, final Vertex v2){
// linear in number of edges in the graph
for(Edge e:edges){
if(e.from()==v1 && e.to()==v2)return e.weight();
diff --git a/src/com.example.portfolio3/com/example/portfolio3/GraphAlgorithms.java b/src/com.example.portfolio3/com/example/portfolio3/GraphAlgorithms.java
index 9337ac1..d2a20f2 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/GraphAlgorithms.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/GraphAlgorithms.java
@@ -27,7 +27,7 @@ public class GraphAlgorithms {
/// does not require the edges to form a path
/// @param edges foo
/// @return int
- public static int pathLength(Collection<Edge> edges){
+ public static int pathLength(final Collection<Edge> edges){
return edges.stream().mapToInt(e-> e.weight()).sum();
}
@@ -36,7 +36,7 @@ public class GraphAlgorithms {
/// the to-vertex in one edge is the from-vertex of the next
/// @param edges foo
/// @return boolean
- public static boolean isPath(List<Edge> edges){
+ public static boolean isPath(final List<Edge> edges){
for(int i=1;i<edges.size();i++){
if(edges.get(i-1).to()!=edges.get(i).from())return false;
}
@@ -49,7 +49,7 @@ public class GraphAlgorithms {
/// @param g foo
/// @param path foo
/// @return Integer
- public static Integer pathLength(Graph g,List<Vertex> path){
+ public static Integer pathLength(final Graph g, final List<Vertex> path){
int length=0;
for(int i=1;i<path.size();i++){
Integer w=g.getWeight(path.get(i-1),path.get(i));
@@ -69,7 +69,7 @@ public class GraphAlgorithms {
/// @param e1 foo
/// @param e2 foo
/// @return int
- static int cmpEdgeWeight(Edge e1,Edge e2) {
+ static int cmpEdgeWeight(final Edge e1, final Edge e2) {
int w1=e1.weight(),w2=e2.weight();
if(w1!=w2)return w1-w2;
if(e1.from()!=e2.from())return e1.from().name().compareTo(e2.from().name());
@@ -82,7 +82,7 @@ public class GraphAlgorithms {
/// @param e1 foo
/// @param e2 foo
/// @return int
- static int cmpEdgeFrom(Edge e1,Edge e2) {
+ static int cmpEdgeFrom(final Edge e1, final Edge e2) {
if(e1.from()!=e2.from())return e1.from().name().compareTo(e2.from().name());
int w1=e1.weight(),w2=e2.weight();
if(w1!=w2)return w1-w2;
@@ -95,7 +95,7 @@ public class GraphAlgorithms {
/// @param e1 foo
/// @param e2 foo
/// @return int
- static int cmpEdgeTo(Edge e1,Edge e2) {
+ static int cmpEdgeTo(final Edge e1, final Edge e2) {
if(e1.to()!=e2.to())return e1.to().name().compareTo(e2.to().name());
if(e1.from()!=e2.from())return e1.from().name().compareTo(e2.from().name());
int w1=e1.weight(),w2=e2.weight();
@@ -105,7 +105,7 @@ public class GraphAlgorithms {
/// sort a collection of edges based on their weights
/// @param edges foo
/// @return List<Edge>
- static List<Edge> sortEdges(Collection<Edge> edges){
+ static List<Edge> sortEdges(final Collection<Edge> edges){
ArrayList<Edge> list=new ArrayList<>(edges);
Collections.sort(list,GraphAlgorithms::cmpEdgeWeight);
return list;
@@ -114,7 +114,7 @@ public class GraphAlgorithms {
/// sort a collection of edges based on from-vertex
/// @param edges foo
/// @return List<Edge>
- static List<Edge> sortEdgesFrom(Collection<Edge> edges){
+ static List<Edge> sortEdgesFrom(final Collection<Edge> edges){
ArrayList<Edge> list=new ArrayList<>(edges);
Collections.sort(list,GraphAlgorithms::cmpEdgeFrom);
return list;
@@ -123,7 +123,7 @@ public class GraphAlgorithms {
/// sort a collection of edges based on to-vertex
/// @param edges foo
/// @return List<Edge>
- static List<Edge> sortEdgesTo(Collection<Edge> edges){
+ static List<Edge> sortEdgesTo(final Collection<Edge> edges){
ArrayList<Edge> list=new ArrayList<>(edges);
Collections.sort(list,GraphAlgorithms::cmpEdgeTo);
return list;
@@ -132,7 +132,7 @@ public class GraphAlgorithms {
/// sort a collection of vertices based on their name
/// @param vertices foo
/// @return List<Vertex>
- public static List<Vertex> sortVertex(Collection<Vertex> vertices){
+ public static List<Vertex> sortVertex(final Collection<Vertex> vertices){
ArrayList<Vertex> list=new ArrayList<>(vertices);
Collections.sort(list,(Vertex v1,Vertex v2)-> v1.name().compareTo(v2.name()));
return list;
@@ -147,7 +147,7 @@ public class GraphAlgorithms {
/// @param g foo
/// @param v foo
/// @return Set<Vertex>
- public static Set<Vertex> visitBreadthFirst(Graph g,Vertex v){
+ public static Set<Vertex> visitBreadthFirst(final Graph g, final Vertex v){
HashSet<Vertex> thisLevel=new HashSet<>();
HashSet<Vertex> nextLevel=new HashSet<>();
HashSet<Vertex> visited=new HashSet<>();
@@ -176,7 +176,7 @@ public class GraphAlgorithms {
/// @param g foo
/// @param v foo
/// @return Set<Vertex>
- public static Set<Vertex> visitDepthFirst(Graph g,Vertex v){
+ public static Set<Vertex> visitDepthFirst(final Graph g, final Vertex v){
HashSet<Vertex> visit=new HashSet<>();
visitDepthFirst(g, v,visit);
return visit;
@@ -186,7 +186,7 @@ public class GraphAlgorithms {
/// @param g foo
/// @param v foo
/// @param visited foo
- private static void visitDepthFirst(Graph g,Vertex v,Set<Vertex> visited){
+ private static void visitDepthFirst(final Graph g, final Vertex v, final Set<Vertex> visited){
if(visited.contains(v))return;
//System.out.println("visited "+v);
visited.add(v);
@@ -198,7 +198,7 @@ public class GraphAlgorithms {
/// naive implementation without priorityqueue
/// @param g foo
/// @return Set<Edge>
- public static Set<Edge> minimumSpanningTree(Graph g){
+ public static Set<Edge> minimumSpanningTree(final Graph g){
Collection<Edge> edges=g.edges();
HashSet<Edge> mst=new HashSet<>();
HashSet<Vertex> frontier=new HashSet<>();
@@ -225,7 +225,7 @@ public class GraphAlgorithms {
/// @param g foo
/// @param start foo
/// @return Set<Edge>
- public static Set<Edge> dijkstra(Graph g, Vertex start){
+ public static Set<Edge> dijkstra(final Graph g, final Vertex start){
// create table for done, prev and weight from start
int maxint =Integer.MAX_VALUE;
HashSet<Vertex> done=new HashSet<>();
@@ -280,7 +280,7 @@ public class GraphAlgorithms {
/// stores file as bidirectional graph
/// @param g foo
/// @param file foo
- public static void readGraph(Graph g, String file) {
+ public static void readGraph(final Graph g, final String file) {
try{
BufferedReader in = new BufferedReader(new FileReader(file));
for(String line=in.readLine(); line!=null; line=in.readLine()) {
@@ -298,7 +298,7 @@ public class GraphAlgorithms {
/// foo
/// @param g foo
- public static void printGraph(Graph g) {
+ public static void printGraph(final Graph g) {
for(Vertex v: sortVertex(g.vertices())) {
System.out.println(v.toString());
for(Edge e:sortEdgesTo(g.outEdge(v)))
@@ -309,7 +309,7 @@ public class GraphAlgorithms {
/// store a list of lines as a file
/// @param list foo
/// @param f foo
- public static void storeStrings(List<String> list,String f){
+ public static void storeStrings(final List<String> list, final String f){
try{
PrintWriter out=new PrintWriter(new FileWriter(f));
for(String s:list){
@@ -324,7 +324,7 @@ public class GraphAlgorithms {
/// read a file a returns a list of lines
/// @param f foo
/// @return ArrayList
- public static ArrayList<String> loadStrings(String f){
+ public static ArrayList<String> loadStrings(final String f){
ArrayList<String> list=new ArrayList<>();
try{
BufferedReader in=new BufferedReader(new FileReader(f));
diff --git a/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java b/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java
index aac4726..985fcbb 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java
@@ -25,7 +25,7 @@ public class MatrixGraph extends AbstractGraph {
/// foo
/// @param numVertex maximum number of vertices allowed
- public MatrixGraph(int numVertex){
+ public MatrixGraph(final int numVertex){
this.numVertex=numVertex;
matrix =new Integer[numVertex][numVertex];
index2vertex=new Vertex[numVertex];
@@ -34,7 +34,7 @@ public class MatrixGraph extends AbstractGraph {
/// foo
/// @param v vertex
/// @return int
- private int getIndex(Vertex v){
+ private int getIndex(final Vertex v){
if(vertex2index.containsKey(v)) return vertex2index.get(v);
int index=vertex2index.size();
if(index>=index2vertex.length)throw new RuntimeException("Too many vertices in graph");
@@ -44,7 +44,7 @@ public class MatrixGraph extends AbstractGraph {
}
/// foo
- public void insertEdge(Vertex v1,Vertex v2,int w){
+ public void insertEdge(final Vertex v1, final Vertex v2, final int w){
matrix[getIndex(v1)][getIndex(v2)] = w;
}
@@ -62,7 +62,7 @@ public class MatrixGraph extends AbstractGraph {
}
/// foo
- public Collection<Edge> outEdge(Vertex v1){
+ public Collection<Edge> outEdge(final Vertex v1){
HashSet<Edge> edges=new HashSet<>();
int i=vertex2index.get(v1);
for(int j=0;j<numVertex;j++){
@@ -74,7 +74,7 @@ public class MatrixGraph extends AbstractGraph {
}
/// foo
- public Integer getWeight(Vertex v1,Vertex v2){
+ public Integer getWeight(final Vertex v1, final Vertex v2){
// constant time operation
return matrix[vertex2index.get(v1)][vertex2index.get(v2)];}
}
diff --git a/src/com.example.portfolio3/com/example/portfolio3/Vertex.java b/src/com.example.portfolio3/com/example/portfolio3/Vertex.java
index 74881a8..caf3930 100644
--- a/src/com.example.portfolio3/com/example/portfolio3/Vertex.java
+++ b/src/com.example.portfolio3/com/example/portfolio3/Vertex.java
@@ -14,7 +14,7 @@ public class Vertex{
/// foo
/// @param s foo
- public Vertex(String s){name=s;}
+ public Vertex(final String s){name=s;}
/// foo
/// @return String