LWJGL openGL - set new position of vertex array

Hello,

I got a massive problem to understand how I can set a new position of my vertex array.

If this is my quad

float[] vertices =
			{      
    -1.0f, -1.0f, 1.0f,
		    1.0f, -1.0f, 1.0f,
		    -1.0f, 1.0f, 1.0f,
		    1.0f, 1.0f, 1.0f,

		    -1.0f, -1.0f, -1.0f,
		    1.0f, -1.0f, -1.0f,
		    -1.0f, 1.0f, -1.0f,
		    1.0f, 1.0f, -1.0f,

		    -1.0f, 1.0f, 1.0f,
		    1.0f, 1.0f, 1.0f,
		    -1.0f, 1.0f, -1.0f,
		    1.0f, 1.0f, -1.0f,

		    -1.0f, -1.0f, 1.0f,
		    1.0f, -1.0f, 1.0f,
		    -1.0f, -1.0f, -1.0f,
		    1.0f, -1.0f, -1.0f,

		    -1.0f, -1.0f, 1.0f,
		    -1.0f, 1.0f, 1.0f,
		    -1.0f, -1.0f, -1.0f,
		    -1.0f, 1.0f, -1.0f,

		    1.0f, -1.0f, 1.0f,
		    1.0f, 1.0f, 1.0f,
		    1.0f, -1.0f, -1.0f,
		    1.0f, 1.0f, -1.0f};

And I want that quad to move, do I have to iterate through each vertex and change it? glTranslatef() is a possibilty, BUT the vertices aren’t changed, so I cannot make a collision detection, right? It will only be moved on the screen as I render it, but the numbers would be the same. So how can I do this effiently? I’am really suprised, because every single tutorial (written or youtube) do not cover this. They only translate them around, and that should be all?? BTW, has anyone a good collision detection tutorial for me? I really appreciate any help :-*