Yes, although they have a slightly different model.
rbenv basically just chooses which ruby (along with the gems that are installed with it) is active on your system.
rvm also provides a gemset functionality that is more like the virtualenv model, where you can have multiple gemsets per version of the interpreter.
What virtualenv doesn't handle as well as either of them is choosing between installed versions of python. What virtualenv does better than both is create an isolated environment for your python program.