One possibility using TikZ; you place some nodes and then draw the arrows:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[
mydot/.style={
circle,
fill,
inner sep=2pt
},
>=latex,
shorten >= 3pt,
shorten <= 3pt
]
\node[mydot,label={left:1}] (a1) {};
\node[mydot,below=of a1,label={left:2}] (a2) {};
\node[mydot,below=of a2,label={left:3}] (a3) {};
\node[mydot,below=of a3,label={left:4}] (a4) {};
\node[mydot,right=2cm of a1,label={right:1}] (b1) {};
\node[mydot,below=of b1,label={right:2}] (b2) {};
\node[mydot,below=of b2,label={right:3}] (b3) {};
\node[mydot,below=of b3,label={right:4}] (b4) {};
\path[->] (a1) edge (b1)
edge (b2)
edge (b3)
edge (b4);
\path[->] (a2) edge (b3)
edge (b4);
\path[->] (a3) edge (b1)
edge (b3);
\path[->] (a4) edge (b2)
edge (b4);
\end{tikzpicture}
\end{document}

A more "traditional" approach using the picture environment:
\documentclass{article}
\begin{document}
\setlength{\unitlength}{.5in}
\begin{picture}(0,0)(3,4)
\linethickness{1pt}
\multiput(0,0)(0,1){4}{$\bullet$}
\multiput(2,0)(0,1){4}{$\bullet$}
\put(-0.2,0){4}
\put(-0.2,1){3}
\put(-0.2,2){2}
\put(-0.2,3){1}
\put(2.2,0){4}
\put(2.2,1){3}
\put(2.2,2){2}
\put(2.2,3){1}
\put(0.2,0.1){\vector(2,1){1.8}}
\put(0.2,0.1){\vector(1,1){1.8}}
\put(0.2,0.1){\vector(1,0){1.8}}
\put(0.2,1.1){\vector(1,0){1.8}}
\put(0.2,2.1){\vector(2,1){1.8}}
\put(0.2,2.1){\vector(1,0){1.8}}
\put(0.2,2.1){\vector(1,-1){1.8}}
\put(0.2,3){\vector(1,-1){1.8}}
\put(0.2,3.1){\vector(1,0){1.8}}
\end{picture}
\end{document}
