자바 배열 요소 상호 조합

1622 단어 JAVA 개발 기법
최근 에 프로젝트 자동화 테스트 플러그 인 을 개발 해 야 하 는데 그 중에서 가장 어 려 운 점 은 조건 간 의 조합 이다. 3 시간 이 걸 려 서 드디어 초보 적 으로 해결 되 었 다. 코드 는 다음 과 같다.
     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

상기 코드 는 프로젝트 자동화 테스트 단일 차원 의 하위 항목 (다 중 선택) 구성 상황 입 니 다. 프로젝트 에 여러 차원 이 있 으 면 이 코드 를 통 해 처리 할 수 있 습 니 다. 차원 간 에 조합 을 생 성 한 다음 에 이미 생 성 된 차원 하위 항목 조합 으로 차원 간 에 생 성 된 조합 에 따라 최종 결 과 를 얻 을 수 있 습 니 다.

좋은 웹페이지 즐겨찾기