01All pairs at once
Dijkstra gives distances from one source. For all pairs you could run it V times, but that fails with negative edges, and Bellman–Ford V times costs O(V²E).
Floyd–Warshall works on a distance matrix d[i][j]: start with the edge weight where an edge exists, 0 on the diagonal, ∞ elsewhere. When it finishes, d[i][j] is the shortest distance from i to j for every pair. It handles negative edges, as long as there is no negative cycle (then “shortest” is meaningless).
In the example graph two edges are negative. The cheapest way from 1 to 2 is not a direct edge at all: 1 → 3 → 4 → 2 costs −2 + 2 − 1 = −1. Finding such routes for all 16 pairs is the job.