다중 Java 어레이의 배열 및 조합, 특정 컨텐츠는 다음과 같습니다.
참고 : 다양한 색상, 크기 및 버전의 휴대 전화 배치가 있으며 그 사이에 다양한 속성을 결합해야합니다.
다양한 속성을 정의합니다
문자열 [] color = { "red", "white", "blue", "gold"}; 문자열 [] size = { "4.7 인치", "5.1 인치", "6.0 인치"}; String [] 버전 = { "unicom", "Telecom", "Enterprise"};결과를 먼저 보자
빨간색, 4.7 인치, 전체 네트워크 액세스,
빨간색, 4.7 인치, 모바일,
빨간색, 4.7 인치, 통신,
빨간색, 4.7 인치, 유니폼,
빨간색, 5.1 인치, 전체 네트워크 액세스,
흰색, 5.1 인치, 모바일,
흰색, 5.1 인치, 유니폼,
흰색, 6.0 인치, 전체 네트워크 액세스, ………………
좋아요, 코드를 추가하십시오
public void doexchange (list arraylists) {int len = arraylists.size (); // 배열 크기가 2 미만인 지 판단합니다.보다 적은 경우 재귀 완료가 완료되었음을 의미합니다. 그렇지 않으면 무엇을 이해하고 이해하지 못합니까? (len <2) {this.arraylists = arraylists; 반품; } // 첫 번째 배열 int len0을 가져옵니다. if (arraylists.get (0) instanceof String []) {String [] arr0 = (String []) arraylists.get (0); len0 = arr0.length; } else {len0 = ((arraylist <string>) arraylists.get (0)). size (); } // 두 번째 배열 문자열을 가져옵니다 [] arr1 = (string []) arraylists.get (1); int len1 = arr1.length; // 두 배열의 얼마나 많은 조합이 int lenboth = len0*len1을 형성 할 수 있는지 계산합니다. // 배열 데이터의 임시 저장 세트를 정의합니다. arraylist <arraylist <string>> temparraylists = new ArrayList <> (Lenboth); // 첫 번째 레이어는 루프 arraylists의 첫 번째 요소입니다 (int i = 0; i <len0; i ++) {// 두 번째 레이어는 루프 arraylists의 두 번째 요소입니다 (int j = 0; j <len1; j ++) {// 첫 번째 요소가 배열 설명 인 경우 첫 번째 요소가 시작됩니다. String []) {String [] arr0 = (String []) arraylists.get (0); ArrayList <string> arr = New ArrayList <> (); arr.add (arr0 [i]); arr.add (arr1 [j]); // 임시 세트 temparraylists.add (ARR)에 배열 데이터를 추가합니다. } else {//이 시점에서 하나 이상의 라운드가 있음이 분명합니다. 우리는 이전 라운드의 결과를 꺼내어 ArrayList의 다음 요소 arraylist <arraylist <string>> arrtemp = (ArrayList <ArrayList <String>>) arraylists.get (0); ArrayList <string> arr = New ArrayList <> (); for (int k = 0; k <arrtemp.get (i) .size (); k ++) {arr.add (arrtemp.get (i) .get (k)); } arr.add (arr1 [j]); temparraylists.add (arr); }}} // 위의 배열 목록에 기초하여 재생 된 컬렉션입니다. newArrayLists = new ArrayList <> (); // 배열되지 않은 배열을 포장하고 명확하게 표시하고 i = 2를 확인하십시오. 처음 두 배열이 완료되었으므로 (int i = 2; arraylists.size (); i ++) {newArrayLists.Add (arraylists.get (i))에 다시 추가 할 필요가 없습니다. } // 새 세트에서 첫 번째 장소로 정리하기 위해 열심히 노력한 데이터를 추가해야합니다. 그렇지 않으면 NewArrayLists.add (0, temparraylists)가되는 것은 쓸모가 없습니다. // 당신은 그 것을 올바르게 읽습니다. 우리의 전체 알고리즘은 재귀 아이디어를 사용합니다. doexchange (newArrayLists); }위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.