-CoderOilStation(程序员编程助手科技股份责任有限公司)

 

Java代码实现了一个整数分组功能

 

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; i < nums.length; i++) {

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; j < nums.length; j++) {

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);

}

 

}

posted on 2025-07-10 09:03  CoderOilStation  阅读(11)  评论(0)    收藏  举报