One way to solve is as below...
- Split the whole class into two arraylists. L1 & L2
- create a variable offset = 0
- First week assign L1[0] & L2[0+offset] as one couple, L1[1] & L2[1+offset] as another couple and so on.
- Second week set offset = 1
- assign L1[0] & L2[0+offset] as one couple but this time, you will actually be assigning L1[0] and L2[1] as a couple because of increased offset value. 6.To ensure that you don't go beyond length of L2, use (0+offset)%L2.length()
This will ensure you have different couple everyweek.