/** * ============LICENSE_START======================================================= * org.onap.aai * ================================================================================ * Copyright © 2017 AT&T Intellectual Property. All rights reserved. * Copyright © 2017 Amdocs * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *
* http://www.apache.org/licenses/LICENSE-2.0 *
* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= *
* ECOMP is a trademark and service mark of AT&T Intellectual Property.
*/
package org.openecomp.datarouter.util;
import java.util.ArrayList;
import java.util.List;
public class SearchSuggestionPermutation {
/*
* Will return all the unique combinations of the suggestions provided.
* The order of the permutation is not taken into account when computing
* the uniqueness.
* e.g.: A list of A,B,C,D will return
* [[A], [A, B, C, D], [A, C, D], [A, D], [B], [B, C, D], [B, D], [C], [C, D], [D]]
*
* @param list The list of statuses to create permutations of
* @return A list which contains a array list of all possible combinations
*/
public static ArrayList> getListPermutations(List
> result = new ArrayList<>();
result.add(new ArrayList
> listOfLists = new ArrayList<>();
String firstElement = inputList.remove(0);
List
> recursiveReturn = getListPermutations(inputList);
for (List