자바 배열 요소 상호 조합
1622 단어 JAVA 개발 기법
public void test2() {
String str = "";
for( int i= 1 ; i < 4 ; i++ ) {
str += "," + i;
}
String str2 = str.substring(1);
List list = Arrays.asList(str2.split(","));
List> l1 = new ArrayList>();
for(int i = 0 , j = list.size() ; i < j ; i++) {
l1.add(new ArrayList());
}
for(int i = 0 , j = l1.size() ; i < j ; i++) {
List l2 = l1.get(i);
l2.addAll(list.subList(i,list.size()));
}
test5(l1 , 0 , null);
}
private void test5(List> list , Integer Index , String prevValue) {
if(Index < list.size()) {
List l1 = list.get(Index);
Integer nextIndex = Index + 1;
for( int i = 0 , j = l1.size() ; i < j ; i++) {
String value = l1.get(i);
if(null != prevValue) {
List l2 = Arrays.asList(prevValue.split(","));
if(l2.indexOf(value) != -1) {
//
return;
}else {
value = prevValue + "," +value;
}
}
if(!"".equals(value))System.out.println(value);
test5(list , nextIndex , value);
}
}
}
테스트 결 과 는 다음 과 같다.
1
1,2
1,2,3
1,3
2
3
3,2
상기 코드 는 프로젝트 자동화 테스트 단일 차원 의 하위 항목 (다 중 선택) 구성 상황 입 니 다. 프로젝트 에 여러 차원 이 있 으 면 이 코드 를 통 해 처리 할 수 있 습 니 다. 차원 간 에 조합 을 생 성 한 다음 에 이미 생 성 된 차원 하위 항목 조합 으로 차원 간 에 생 성 된 조합 에 따라 최종 결 과 를 얻 을 수 있 습 니 다.