
package com.javaTest
import java.util.ArrayList
import java.util.HashSet
import java.util.List
import java.util.Objects
import java.util.Random
import java.util.UUID
public class JavaTest {
public static void main(String[] args) {
System.out.println("Hello World!")
int[] nums=new int[] {1,2,3,4,5}
List<ArrayList<CustIntGroup>> diffGroupIntegerList = getDiffGroupIntegerList(nums)
System.out.println(diffGroupIntegerList)
ArrayList<Integer> arrayList = new ArrayList<Integer>()
arrayList.add(1)
arrayList.add(2)
arrayList.add(2)
Boolean checkIntArrEleIsUnique = checkIntArrEleIsUnique(arrayList)
System.out.println(checkIntArrEleIsUnique)
}
public static List<ArrayList<CustIntGroup>> getDiffGroupIntegerList(int[] nums){
if(nums==null) {
return null
}
if(nums.length==0) {
return null
}
if(nums.length<1 || nums.length>6) {
return null
}
HashSet<Integer> hashSet = new HashSet<Integer>()
for (int i = 0
int j = nums[i]
if(j<0 || j>10) {
return null
}
hashSet.add(j)
}
if(hashSet.size()<nums.length) {
return null
}
List<ArrayList<CustIntGroup>> arrayList = new ArrayList<ArrayList<CustIntGroup>>()
Random random = new Random()
HashSet<CustIntGroup> hashSet2 = new HashSet<CustIntGroup>()
int count=0
while(true) {
ArrayList<Integer> arrayList3 = new ArrayList<Integer>()
for (int j = 0
CustIntGroup custIntGroup = new CustIntGroup()
custIntGroup.setId(UUID.randomUUID().toString())
int nextInt = random.nextInt(nums.length)
int i = nums[nextInt]
arrayList3.add(i)
if(arrayList3.size()<nums.length) {
continue
}
if(checkIntArrEleIsUnique(arrayList3)) {
custIntGroup.setIntArr(arrayList3)
}
hashSet2.add(custIntGroup)
}
ArrayList<CustIntGroup> arrayList2 = new ArrayList<CustIntGroup>()
hashSet2.forEach(e->{
arrayList2.add(e)
})
arrayList.add(arrayList2)
count++
if(count>1000000) {
break
}
}
return arrayList
}
public static Boolean checkIntArrEleIsUnique(List<Integer> intList) {
if(intList==null) {
return null
}
if(intList.isEmpty()) {
return null
}
HashSet<Integer> hashSet = new HashSet<Integer>()
intList.forEach(e->{
hashSet.add(e)
})
if(hashSet.size()<intList.size()) {
return false
}
return true
}
}
class CustIntGroup{
private String id
private List<Integer> intArr
public String getId() {
return id
}
public void setId(String id) {
this.id = id
}
public List<Integer> getIntArr() {
return intArr
}
public void setIntArr(List<Integer> intArr) {
this.intArr = intArr
}
@Override
public int hashCode() {
return Objects.hash(intArr)
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true
if (obj == null)
return false
if (getClass() != obj.getClass())
return false
CustIntGroup other = (CustIntGroup) obj
return Objects.equals(intArr, other.intArr)
}
}