I am trying to generate a list of a hundred thousand random points in 3d space within a 3d boundary without having any of the points occupy the same position. I'm literally trying to create a non-repeating Vector3 generator. Is there any efficient way of doing this? Also, it is okay if these points are not evenly distributed, it is actually preferable if they are someone clustered here there, just as long as they do not occupy the same position.

To clarify I am not trying to generate 300,000 unique points. But instead 100,000 3d points. So a vector values of (0, 0, 0) and (0, 0, 1) is acceptable.
But (4, 4, 4) and (4, 4, 4) is unacceptable.

```
public class Vector3
{
    public float x;
    public float y;
    public float z;

    Vector3(float x, float y, float z)
    {
        this.x = x;
        this.y = y;
        this.z = z;
    }

    public static ArrayList<Vector3> generateVector3s()
    {
        ArrayList<Vector3> tempVector3List = new ArrayList<>();

        for (int i = 0; i < 100000; i++)
        {   
            tempVector3List.add(new Vector3(RANDOMVALUE, RANDOMVALUE, RANDOMVALUE));
        }

        return tempVector3List ;
    }
}

```