This is a java program to represent graph as a adjacency list. Each node will have a linked list consisting of node to which it is connected.
Here is the source code of the Java Program to Represent Graph Using Adjacency List. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to represent graph as a adjacency list import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Scanner; public class Represent_Graph_Adjacency_List { private Map<Integer, List<Integer>> adjacencyList; public Represent_Graph_Adjacency_List(int v) { adjacencyList = new HashMap<Integer, List<Integer>>(); for (int i = 1; i <= v; i++) adjacencyList.put(i, new LinkedList<Integer>()); } public void setEdge(int to, int from) { if (to > adjacencyList.size() || from > adjacencyList.size()) System.out.println("The vertices does not exists"); List<Integer> sls = adjacencyList.get(to); sls.add(from); List<Integer> dls = adjacencyList.get(from); dls.add(to); } public List<Integer> getEdge(int to) { if (to > adjacencyList.size()) { System.out.println("The vertices does not exists"); return null; } return adjacencyList.get(to); } public static void main(String args[]) { int v, e, count = 1, to, from; Scanner sc = new Scanner(System.in); Represent_Graph_Adjacency_List glist; try { System.out.println("Enter the number of vertices: "); v = sc.nextInt(); System.out.println("Enter the number of edges: "); e = sc.nextInt(); glist = new Represent_Graph_Adjacency_List(v); System.out.println("Enter the edges in the graph : <to> <from>"); while (count <= e) { to = sc.nextInt(); from = sc.nextInt(); glist.setEdge(to, from); count++; } System.out .println("The Adjacency List Representation of the graph is: "); for (int i = 1; i <= v; i++) { System.out.print(i + "->"); List<Integer> edgeList = glist.getEdge(i); for (int j = 1;; j++) { if (j != edgeList.size()) System.out.print(edgeList.get(j - 1) + " -> "); else { System.out.print(edgeList.get(j - 1)); break; } } System.out.println(); } } catch (Exception E) { System.out.println("Something went wrong"); } sc.close(); } }
Output:
$ javac Represent_Graph_Adjacency_List.java $ java Represent_Graph_Adjacency_List Enter the number of vertices: 4 5 Enter the number of edges: Enter the edges in the graph : <to> <from> 1 2 2 3 3 4 4 1 1 3 The Adjacency List Representation of the graph is: 1 -> 2 -> 4 -> 3 2 -> 1 -> 3 3 -> 2 -> 4 -> 1 4 -> 3 -> 1
Related posts:
Java Program to Implement Circular Singly Linked List
Java Program to Implement Kosaraju Algorithm
Guide to the Volatile Keyword in Java
Find the Registered Spring Security Filters
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Java 8 Stream API Analogies in Kotlin
Spring Boot - Servlet Filter
Java Program to Find Maximum Element in an Array using Binary Search
Marker Interface trong Java
Java Program to Represent Graph Using 2D Arrays
Java Program to Implement Double Ended Queue
Apache Tiles Integration with Spring MVC
Java Program to Implement Attribute API
Simultaneous Spring WebClient Calls
Spring Boot - Logging
Java Program to Find Path Between Two Nodes in a Graph
Java Program to Check Multiplicability of Two Matrices
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Java Program to Implement TreeSet API
Checking for Empty or Blank Strings in Java
Comparing Strings in Java
Java Program to Implement Threaded Binary Tree
Spring Boot - Interceptor
So sánh HashMap và HashSet trong Java
Java Program to Generate a Sequence of N Characters for a Given Specific Case
Java Program to implement Bit Matrix
Java Program to Implement Find all Forward Edges in a Graph
Testing in Spring Boot
Guide to the Synchronized Keyword in Java
Server-Sent Events in Spring
Spring MVC Tutorial
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?