The two most common ways to represent a graph are adjacency matrix and adjacency lists. Let n be the number of nodes.
Adjacency matrix A is an n x n matrix of boolean values, such that A(i, j) = 1 if nodes i and j are connected, and 0 if they are not.
In adjacency lists representation for each node you maintain a list of the nodes it is connected to (adjacent to).
The question now is what you want to do with the graph. If it is something simple, it may make sense to roll your own. If not, you may want to poke around the web for a java library to handle graphs. JGraphT has been mentioned.
If you want to use adjacency matrix, then you can easily represent it in Java as a 2D array of bool's or int's. You would need to give each node an index. The easiest way
to do that is to keep your Node objects in an array, always in the same order. So you would really have two data structures: an array of Nodes, which are objects that represent whatever your nodes actually are, and the adjacency matrix, which refers to the Nodes by their indices.
Once you populate the matrix, if you can easily find a node that is connected to most other nodes by adding up the values (0s and 1s) in all the columns (or rows), and finding the maximum. Hope this helps.