diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-04-29 06:03:56 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-04-29 06:11:41 +0200 |
commit | a5c3599d7bc7a9ef5583ad2d50a55975f030fbea (patch) | |
tree | db4ed74e48997d4b4450148116a9c990978a1641 /src/com.example.portfolio3 | |
parent | 03d2d06e8f5bfadd79912efb94e8931e54296735 (diff) |
declare variables final when possible
Diffstat (limited to 'src/com.example.portfolio3')
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 |